## Expression simplified for explicit int values, but not with FullSimplify/FunctionExpand and Assuming. What formula does Mathematica use?

I have a $$_4F_3$$ hypergeometric function (Mathematica 11.3)

``HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n, 1 + 2 m + n}, {2 + n,    2 + n, 3/2 + 2 m + n}, z] ``

If I plug in explicit integer values for $$n$$ I get e.g.

``In[29]:= HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n,     1 + 2 m + n}, {2 + n, 2 + n, 3/2 + 2 m + n}, z] /. {n -> 0}  Out[29]= (-1 - 4 m)/(  4 m^2 z) + ((1 + 4 m) HypergeometricPFQ[{1/2, 2 m, 2 m}, {1,      1/2 + 2 m}, z])/(4 m^2 z)  In[35]:= HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n,     1 + 2 m + n}, {2 + n, 2 + n, 3/2 + 2 m + n}, z] /. {n -> 1}  Out[35]= -(((3 + 4 m) (1 + 4 m + 4 m^2 z))/(   3 m^2 (1 + 2 m)^2 z^2)) + ((1 + 4 m) (3 + 4 m) HypergeometricPFQ[{1/     2, 2 m, 2 m}, {1, 1/2 + 2 m}, z])/(3 m^2 (1 + 2 m)^2 z^2) ``

and so on. However, passing $$n$$ being an integer as an assumption and using `FullSimplify` or `FunctionExpand` leads to nothing

``In[33]:= Assuming[{n \[Element] Integers, n >= 0},   FunctionExpand[   HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n, 1 + 2 m + n}, {2 + n,      2 + n, 3/2 + 2 m + n}, z]]]  Out[33]= HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n,    1 + 2 m + n}, {2 + n, 2 + n, 3/2 + 2 m + n}, z] ``

and

``In[36]:= Assuming[{n \[Element] Integers, n >= 0},   FullSimplify[   HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n, 1 + 2 m + n}, {2 + n,      2 + n, 3/2 + 2 m + n}, z]]]  Out[36]= HypergeometricPFQ[{1, 3/2 + n, 1 + 2 m + n,    1 + 2 m + n}, {2 + n, 2 + n, 3/2 + 2 m + n}, z] ``

Ultimately, I want to know what formula does Mathematica use to obtain these simplifications from $$_4F_3$$ to $$_3F_2$$ (I looked at some resources like DLMF, but couldn’t find anything). Also, it would be nice to find a way to get Mathematica to apply whatever formula it is using to the general case with assumptions.

## View still depends on column even after I have removed the explicit (as well as transitive) dependencies?

Assume I have the following table and view:

``CREATE TABLE my_table (a int, b text, c text); CREATE VIEW my_view AS SELECT * FROM my_table WHERE b = 'foo'; ``

The table has some data:

``INSERT INTO my_table VALUES (1, 'foo', 'first'); INSERT INTO my_table VALUES (2, 'foo', 'second'); INSERT INTO my_table VALUES (3, 'foo', 'third'); ``

I realise that column `b` always has the same value `'foo'`. I decide that the entire column is unnecessary, and wish to drop it.

Because I like to be explicit about my dependencies, to make sure I don’t accidentally drop more than I should, I avoid using the `CASCADE` keyword, opting instead to redefine the dependent view manually:

``CREATE OR REPLACE VIEW my_view AS SELECT * FROM my_table; ``

The view now no longer has any explicit dependency on column `b`, so the column should be safe to delete.

``ALTER TABLE my_table DROP COLUMN b; ``

However, as I try to drop column `b`, I get the following error message

``ERROR:  cannot drop table my_table column b because other objects depend on it DETAIL:  view my_view depends on table my_table column b HINT:  Use DROP ... CASCADE to drop the dependent objects too. ``

Why does this error message appear even after removing the dependency on the column to be dropped?

## Why isn’t my function evaluating to an explicit number?

I’m just wondering why my function is not evaluating as I think it should. I put in the following:

``dp = {{0, 71}, {1, 71}, {2, 71}, {3, 70}, {4, 69}, {5, 67}, {6,65}, {7, 63}, {8, 61}, {9, 60}, {10, 60}, {11, 61}, {12, 63}, {13,65}, {14, 66}, {15, 67}, {16, 67}, {16, 67}, {17, 66}, {18,65}, {19, 63}, {20, 60}, {21, 58}, {22, 56}, {23, 55}}; f = Fit[dp, {1, x, x^2, x^3, x^4, x^5, x^6, x^7}, x]; f[3] ``

but as output I get

``(71.121 - 1.29633 x + 1.34837 x^2 - 0.504693 x^3 + 0.0700859 x^4 - 0.00447611 x^5 + 0.000134178 x^6 - 1.53469*10^-6 x^7)[3] ``

The output I want is the polynomial’s value at x=3.