THEOREM

*******

 

Given:

 

   x = {0, 1}   (line 3)

 

   x2 = {(a,b): a e x & b e x}

 

   ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]]   (Function space, line 39)

 

   f(0,0)=0 & f(0,1)=1 & f(1,0)=1 & f(1,1)=0   (line 40)

 

Prove:

 

   f e fs

 

 

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

*****

 

 

Function Space Axiom (functions with 2 variables)

 

1     ALL(dom):ALL(cod):[Set'(dom) & EXIST(a1):EXIST(a2):(a1,a2) e dom & Set(cod)

    => EXIST(fs):[Set(fs) & ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e dom => f(a1,a2) e cod]]]]

      Axiom

 

2     Set(x)

      Axiom

 

3     ALL(a):[a e x <=> a=0 | a=1]

      Axiom

 

4     0 e x <=> 0=0 | 0=1

      U Spec, 3

 

5     [0 e x => 0=0 | 0=1] & [0=0 | 0=1 => 0 e x]

      Iff-And, 4

 

6     0=0 | 0=1 => 0 e x

      Split, 5

 

7     0=0

      Reflex

 

8     0=0 | 0=1

      Arb Or, 7

 

9     0 e x

      Detach, 6, 8

 

10   1 e x <=> 1=0 | 1=1

      U Spec, 3

 

11   [1 e x => 1=0 | 1=1] & [1=0 | 1=1 => 1 e x]

      Iff-And, 10

 

12   1=0 | 1=1 => 1 e x

      Split, 11

 

13   1=1

      Reflex

 

14   1=0 | 1=1

      Arb Or, 13

 

15   1 e x

      Detach, 12, 14

 

16   ALL(a1):ALL(a2):[Set(a1) & Set(a2) => EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b <=> c1 e a1 & c2 e a2]]]

      Cart Prod

 

17   ALL(a2):[Set(x) & Set(a2) => EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b <=> c1 e x & c2 e a2]]]

      U Spec, 16

 

18   Set(x) & Set(x) => EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b <=> c1 e x & c2 e x]]

      U Spec, 17

 

19   Set(x) & Set(x)

      Join, 2, 2

 

20   EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b <=> c1 e x & c2 e x]]

      Detach, 18, 19

 

21   Set'(x2) & ALL(c1):ALL(c2):[(c1,c2) e x2 <=> c1 e x & c2 e x]

      E Spec, 20

 

Define: x2

 

22   Set'(x2)

      Split, 21

 

23   ALL(c1):ALL(c2):[(c1,c2) e x2 <=> c1 e x & c2 e x]

      Split, 21

 

24   ALL(cod):[Set'(x2) & EXIST(a1):EXIST(a2):(a1,a2) e x2 & Set(cod)

    => EXIST(fs):[Set(fs) & ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e cod]]]]

      U Spec, 1

 

25   Set'(x2) & EXIST(a1):EXIST(a2):(a1,a2) e x2 & Set(x)

    => EXIST(fs):[Set(fs) & ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]]]

      U Spec, 24

 

26   ALL(c2):[(0,c2) e x2 <=> 0 e x & c2 e x]

      U Spec, 23

 

27   (0,0) e x2 <=> 0 e x & 0 e x

      U Spec, 26

 

28   [(0,0) e x2 => 0 e x & 0 e x]

    & [0 e x & 0 e x => (0,0) e x2]

      Iff-And, 27

 

29   0 e x & 0 e x => (0,0) e x2

      Split, 28

 

30   0 e x & 0 e x

      Join, 9, 9

 

31   (0,0) e x2

      Detach, 29, 30

 

32   EXIST(a2):(0,a2) e x2

      E Gen, 31

 

33   EXIST(a1):EXIST(a2):(a1,a2) e x2

      E Gen, 32

 

34   Set'(x2) & EXIST(a1):EXIST(a2):(a1,a2) e x2

      Join, 22, 33

 

35   Set'(x2) & EXIST(a1):EXIST(a2):(a1,a2) e x2

    & Set(x)

      Join, 34, 2

 

36   EXIST(fs):[Set(fs) & ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]]]

      Detach, 25, 35

 

37   Set(fs) & ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]]

      E Spec, 36

 

Define: fs

 

38   Set(fs)

      Split, 37

 

39   ALL(f):[f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]]

      Split, 37

 

   

    Prove: ALL(f):[f(0,0)=0 & f(0,1)=1 & f(1,0)=1 & f(1,1)=0 => f e fs]

   

    Suppose...

 

      40   f(0,0)=0 & f(0,1)=1 & f(1,0)=1 & f(1,1)=0

            Premise

 

      41   f(0,0)=0

            Split, 40

 

      42   f(0,1)=1

            Split, 40

 

      43   f(1,0)=1

            Split, 40

 

      44   f(1,1)=0

            Split, 40

 

      45   f e fs <=> ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]

            U Spec, 39

 

      46   [f e fs => ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]]

         & [ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x] => f e fs]

            Iff-And, 45

 

   

    Sufficient: For f e fs

 

      47   ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x] => f e fs

            Split, 46

 

        

         Prove: ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]

        

         Suppose...

 

            48   (t,u) e x2

                  Premise

 

            49   ALL(c2):[(t,c2) e x2 <=> t e x & c2 e x]

                  U Spec, 23

 

            50   (t,u) e x2 <=> t e x & u e x

                  U Spec, 49

 

            51   [(t,u) e x2 => t e x & u e x]

             & [t e x & u e x => (t,u) e x2]

                  Iff-And, 50

 

            52   (t,u) e x2 => t e x & u e x

                  Split, 51

 

            53   t e x & u e x

                  Detach, 52, 48

 

            54   t e x

                  Split, 53

 

            55   u e x

                  Split, 53

 

            56   t e x <=> t=0 | t=1

                  U Spec, 3

 

            57   [t e x => t=0 | t=1] & [t=0 | t=1 => t e x]

                  Iff-And, 56

 

            58   t e x => t=0 | t=1

                  Split, 57

 

         Two cases to consider:

 

            59   t=0 | t=1

                  Detach, 58, 54

 

            60   u e x <=> u=0 | u=1

                  U Spec, 3

 

            61   [u e x => u=0 | u=1] & [u=0 | u=1 => u e x]

                  Iff-And, 60

 

            62   u e x => u=0 | u=1

                  Split, 61

 

         Two sub-cases to consider:

 

            63   u=0 | u=1

                  Detach, 62, 55

 

            

             Case 1

            

             Prove: t=0 => f(t,u) e x

            

             Suppose...

 

                  64   t=0

                        Premise

 

                 Sub-case 1

                

                 Prove: u=0 => f(t,u) e x

                

                 Suppose...

 

                        65   u=0

                              Premise

 

                        66   f(t,0)=0

                              Substitute, 64, 41

 

                        67   f(t,u)=0

                              Substitute, 65, 66

 

                        68   f(t,u) e x

                              Substitute, 67, 9

 

             As Required:

 

                  69   u=0 => f(t,u) e x

                        4 Conclusion, 65

 

                 Sub-case 2

                

                 Prove: u=1 => f(t,u) e x

                

                 Suppose...

 

                        70   u=1

                              Premise

 

                        71   f(t,1)=1

                              Substitute, 64, 42

 

                        72   f(t,u)=1

                              Substitute, 70, 71

 

                        73   f(t,u) e x

                              Substitute, 72, 15

 

             As Required:

 

                  74   u=1 => f(t,u) e x

                        4 Conclusion, 70

 

                  75   [u=0 => f(t,u) e x] & [u=1 => f(t,u) e x]

                        Join, 69, 74

 

                  76   f(t,u) e x

                        Cases, 63, 75

 

         As Required:

 

            77   t=0 => f(t,u) e x

                  4 Conclusion, 64

 

             Case 2

            

             Prove: t=1 => f(t,u) e x

            

             Suppose...

 

                  78   t=1

                        Premise

 

                 Sub-case 1

                

                 Prove: u=0 => f(t,u) e x

                

                 Suppose...

 

                        79   u=0

                              Premise

 

                        80   f(t,0)=1

                              Substitute, 78, 43

 

                        81   f(t,u)=1

                              Substitute, 79, 80

 

                        82   f(t,u) e x

                              Substitute, 81, 15

 

             As Required:

 

                  83   u=0 => f(t,u) e x

                        4 Conclusion, 79

 

                 Sub-case 2

                

                 Prove: u=1 => f(t,u) e x

                

                 Suppose...

 

                        84   u=1

                              Premise

 

                        85   f(t,1)=0

                              Substitute, 78, 44

 

                        86   f(t,u)=0

                              Substitute, 84, 85

 

                        87   f(t,u) e x

                              Substitute, 86, 9

 

             As Required:

 

                  88   u=1 => f(t,u) e x

                        4 Conclusion, 84

 

                  89   [u=0 => f(t,u) e x] & [u=1 => f(t,u) e x]

                        Join, 83, 88

 

                  90   f(t,u) e x

                        Cases, 63, 89

 

         As Required:

 

            91   t=1 => f(t,u) e x

                  4 Conclusion, 78

 

            92   [t=0 => f(t,u) e x] & [t=1 => f(t,u) e x]

                  Join, 77, 91

 

            93   f(t,u) e x

                  Cases, 59, 92

 

    As Required:

 

      94   ALL(a1):ALL(a2):[(a1,a2) e x2 => f(a1,a2) e x]

            4 Conclusion, 48

 

      95   f e fs

            Detach, 47, 94

 

As Required:

 

96   ALL(f):[f(0,0)=0 & f(0,1)=1 & f(1,0)=1 & f(1,1)=0 => f e fs]

      4 Conclusion, 40