Changing EXIST-ALL to ALL-EXIST
Version 2.0 (New) Theorem: EXIST(a):ALL(b):[P(b) => R(a,b)] => ALL(b):[P(b)=>EXIST(a):R(a,b)] Proof: Suppose... 1 EXIST(a):ALL(b):[P(b) => R(a,b)] Premise Suppose further... 2 P(y) Premise Apply initial premise for a=x and b=y 3 ALL(b):[P(b) => R(x,b)] E Spec, 1 4 P(y) => R(x,y) U Spec, 3 Apply Detachment Rule on lines 4 and 2 5 R(x,y) Detach, 4, 2 x was introduced here by Existential Specification on line 3. y was introduced by Premise on line 2. By applying the the Conclusion Rule here, x and y are automatically generalized by existential and universal generalization respectively, and we introduce '=>'. The user chooses only the names of bound variables. 6 ALL(b):[P(b) => EXIST(a):R(a,b)] Conclusion, 2 Applying the Conclusion Rule once more... As Required: 7 EXIST(a):ALL(b):[P(b) => R(a,b)] => ALL(b):[P(b) => EXIST(a):R(a,b)] Conclusion, 1