THEOREM
*******
ALL(x):ALL(z):[Set(x)
& ALL(a):[a e x <=> a=z]
=> EXIST(fs):[Set(fs)
& ALL(f):[f e fs <=> ALL(d):[d e x => f(d) e x]]
& ALL(f):[f e fs <=> f(z)=z]]]
By Dan Christensen
2022-01-16
This machine-verified, formal
proof was written with the aid of the author's DC Proof 2.0 software available
at http://www.dcproof.com
PROOF
*****
Proposed Function Space axiom
(functions of one variable)
1 ALL(a):ALL(b):[Set(a) & EXIST(c):c e a & Set(b) => EXIST(c):[Set(c) & ALL(f):[f e c <=> ALL(d):[d e a => f(d) e b]]]]
Premise
Suppose...
2 Set(x) & ALL(a):[a e x <=> a=z]
Premise
3 Set(x)
Split, 2
4 ALL(a):[a e x <=> a=z]
Split, 2
5 ALL(b):[Set(x) & EXIST(c):c e x & Set(b)
=> EXIST(c):[Set(c) & ALL(f):[f e c <=>
ALL(d):[d e x => f(d) e b]]]]
U Spec, 1
6 Set(x) & EXIST(c):c e x & Set(x) => EXIST(c):[Set(c) & ALL(f):[f e c <=>
ALL(d):[d e x => f(d) e x]]]
U Spec, 5
7 z e x <=> z=z
U Spec, 4
8 [z e x => z=z] & [z=z => z e x]
Iff-And, 7
9 z=z => z e x
Split, 8
10 z=z
Reflex
11 z e x
Detach, 9, 10
12 EXIST(c):c e x
E Gen, 11
13 Set(x) & EXIST(c):c e x
Join, 3, 12
14 Set(x) & EXIST(c):c e x & Set(x)
Join, 13, 3
15 EXIST(c):[Set(c) & ALL(f):[f e c <=> ALL(d):[d e x => f(d) e x]]]
Detach, 6, 14
16 Set(fs) & ALL(f):[f e fs <=> ALL(d):[d e x => f(d) e x]]
E Spec, 15
17 Set(fs)
Split, 16
18 ALL(f):[f e fs <=>
ALL(d):[d e x => f(d) e x]]
Split, 16
Prove: ALL(f):[f e fs => f(z)=z]
Suppose...
19 f e fs
Premise
20 f e fs <=> ALL(d):[d e x => f(d) e x]
U Spec, 18
21 [f e fs => ALL(d):[d e x => f(d) e x]]
&
[ALL(d):[d e x => f(d) e x] => f e fs]
Iff-And, 20
22 f e fs => ALL(d):[d e x => f(d) e x]
Split, 21
23 ALL(d):[d e x => f(d) e x]
Detach, 22, 19
24 z e x => f(z) e x
U Spec, 23
25 f(z) e x
Detach, 24, 11
26 f(z) e x <=> f(z)=z
U Spec, 4, 25
27 [f(z) e x => f(z)=z] & [f(z)=z => f(z) e x]
Iff-And, 26
28 f(z) e x => f(z)=z
Split, 27
29 f(z)=z
Detach, 28, 25
As Required:
30 ALL(f):[f e fs => f(z)=z]
4 Conclusion, 19
Prove: ALL(f):[f(z)=z => f e fs]
Suppose...
31 f(z)=z
Premise
32 f e fs <=> ALL(d):[d e x => f(d) e x]
U Spec, 18
33 [f e fs => ALL(d):[d e x => f(d) e x]]
&
[ALL(d):[d e x => f(d) e x] => f e fs]
Iff-And, 32
34 ALL(d):[d e x => f(d) e x] => f e fs
Split, 33
Prove: ALL(d):[d e x => f(d) e x]
Suppose...
35 t e x
Premise
36 t e x <=> t=z
U Spec, 4
37 [t e x => t=z] & [t=z => t e x]
Iff-And, 36
38 t e x => t=z
Split, 37
39 t=z
Detach, 38, 35
40 f(t)=t
Substitute, 39,
31
41 f(t) e x
Substitute, 40,
35
As Required:
42 ALL(d):[d e x => f(d) e x]
4 Conclusion, 35
43 f e fs
Detach, 34, 42
As Required:
44 ALL(f):[f(z)=z => f e fs]
4 Conclusion, 31
45 ALL(f):[[f e fs => f(z)=z] & [f(z)=z => f e fs]]
Join, 30, 44
46 ALL(f):[f e fs <=> f(z)=z]
Iff-And, 45
47 Set(fs) & ALL(f):[f e fs <=> ALL(d):[d e x => f(d) e x]]
&
ALL(f):[f e fs <=> f(z)=z]
Join, 16, 46
As Required:
48 ALL(x):ALL(z):[Set(x) & ALL(a):[a e x <=> a=z]
=>
EXIST(fs):[Set(fs) & ALL(f):[f e fs <=> ALL(d):[d e x => f(d) e x]]
&
ALL(f):[f e fs <=>
f(z)=z]]]
4 Conclusion, 2