Article ZFMODEL1, MML version 4.99.1005

:: ZFMODEL1:th 1
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds b1 |= the_axiom_of_extensionality;

:: ZFMODEL1:th 2
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_pairs
   iff
      for b2, b3 being Element of b1 holds
      {b2,b3} in b1;

:: ZFMODEL1:th 3
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_pairs
   iff
      for b2, b3 being set
            st b2 in b1 & b3 in b1
         holds {b2,b3} in b1;

:: ZFMODEL1:th 4
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_unions
   iff
      for b2 being Element of b1 holds
         union b2 in b1;

:: ZFMODEL1:th 5
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_unions
   iff
      for b2 being set
            st b2 in b1
         holds union b2 in b1;

:: ZFMODEL1:th 6
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_infinity
   iff
      ex b2 being Element of b1 st
         b2 <> {} &
          (for b3 being Element of b1
                st b3 in b2
             holds ex b4 being Element of b1 st
                b3 c< b4 & b4 in b2);

:: ZFMODEL1:th 7
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_infinity
   iff
      ex b2 being set st
         b2 in b1 &
          b2 <> {} &
          (for b3 being set
                st b3 in b2
             holds ex b4 being set st
                b3 c< b4 & b4 in b2);

:: ZFMODEL1:th 8
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_power_sets
   iff
      for b2 being Element of b1 holds
         b1 /\ bool b2 in b1;

:: ZFMODEL1:th 9
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    b1 |= the_axiom_of_power_sets
   iff
      for b2 being set
            st b2 in b1
         holds b1 /\ bool b2 in b1;

:: ZFMODEL1:th 10
theorem
for b1 being Element of VAR
for b2 being ZF-formula-like FinSequence of NAT
for b3 being non empty set
for b4 being Function-like quasi_total Relation of VAR,b3
      st not b1 in Free b2 & b3,b4 |= b2
   holds b3,b4 |= All(b1,b2);

:: ZFMODEL1:th 11
theorem
for b1, b2 being Element of VAR
for b3 being ZF-formula-like FinSequence of NAT
for b4 being non empty set
for b5 being Function-like quasi_total Relation of VAR,b4
      st {b1,b2} misses Free b3 & b4,b5 |= b3
   holds b4,b5 |= All(b1,b2,b3);

:: ZFMODEL1:th 12
theorem
for b1, b2, b3 being Element of VAR
for b4 being ZF-formula-like FinSequence of NAT
for b5 being non empty set
for b6 being Function-like quasi_total Relation of VAR,b5
      st {b1,b2,b3} misses Free b4 & b5,b6 |= b4
   holds b5,b6 |= All(b1,b2,b3,b4);

:: ZFMODEL1:funcnot 1 => ZFMODEL1:func 1
definition
  let a1 be ZF-formula-like FinSequence of NAT;
  let a2 be non empty set;
  let a3 be Function-like quasi_total Relation of VAR,a2;
  assume not x. 0 in Free a1 &
     a2,a3 |= All(x. 3,Ex(x. 0,All(x. 4,a1 <=> ((x. 4) '=' x. 0))));
  func def_func'(A1,A3) -> Function-like quasi_total Relation of a2,a2 means
    for b1 being Function-like quasi_total Relation of VAR,a2
          st for b2 being Element of VAR
                  st b1 . b2 <> a3 . b2 & x. 0 <> b2 & x. 3 <> b2
               holds x. 4 = b2
       holds    a2,b1 |= a1
       iff
          it . (b1 . x. 3) = b1 . x. 4;
end;

:: ZFMODEL1:def 1
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
for b3 being Function-like quasi_total Relation of VAR,b2
   st not x. 0 in Free b1 &
      b2,b3 |= All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((x. 4) '=' x. 0))))
for b4 being Function-like quasi_total Relation of b2,b2 holds
      b4 = def_func'(b1,b3)
   iff
      for b5 being Function-like quasi_total Relation of VAR,b2
            st for b6 being Element of VAR
                    st b5 . b6 <> b3 . b6 & x. 0 <> b6 & x. 3 <> b6
                 holds x. 4 = b6
         holds    b2,b5 |= b1
         iff
            b4 . (b5 . x. 3) = b5 . x. 4;

:: ZFMODEL1:th 14
theorem
for b1 being non empty set
for b2 being ZF-formula-like FinSequence of NAT
for b3, b4 being Function-like quasi_total Relation of VAR,b1
      st (for b5 being Element of VAR
               st b3 . b5 <> b4 . b5
            holds not b5 in Free b2) &
         b1,b3 |= b2
   holds b1,b4 |= b2;

:: ZFMODEL1:funcnot 2 => ZFMODEL1:func 2
definition
  let a1 be ZF-formula-like FinSequence of NAT;
  let a2 be non empty set;
  assume Free a1 c= {x. 3,x. 4} &
     a2 |= All(x. 3,Ex(x. 0,All(x. 4,a1 <=> ((x. 4) '=' x. 0))));
  func def_func(A1,A2) -> Function-like quasi_total Relation of a2,a2 means
    for b1 being Function-like quasi_total Relation of VAR,a2 holds
          a2,b1 |= a1
       iff
          it . (b1 . x. 3) = b1 . x. 4;
end;

:: ZFMODEL1:def 2
theorem
for b1 being ZF-formula-like FinSequence of NAT
for b2 being non empty set
   st Free b1 c= {x. 3,x. 4} &
      b2 |= All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((x. 4) '=' x. 0))))
for b3 being Function-like quasi_total Relation of b2,b2 holds
      b3 = def_func(b1,b2)
   iff
      for b4 being Function-like quasi_total Relation of VAR,b2 holds
            b2,b4 |= b1
         iff
            b3 . (b4 . x. 3) = b4 . x. 4;

:: ZFMODEL1:prednot 1 => ZFMODEL1:pred 1
definition
  let a1 be Relation-like Function-like set;
  let a2 be non empty set;
  pred A1 is_definable_in A2 means
    ex b1 being ZF-formula-like FinSequence of NAT st
       Free b1 c= {x. 3,x. 4} &
        a2 |= All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((x. 4) '=' x. 0)))) &
        a1 = def_func(b1,a2);
end;

:: ZFMODEL1:dfs 3
definiens
  let a1 be Relation-like Function-like set;
  let a2 be non empty set;
To prove
     a1 is_definable_in a2
it is sufficient to prove
  thus ex b1 being ZF-formula-like FinSequence of NAT st
       Free b1 c= {x. 3,x. 4} &
        a2 |= All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((x. 4) '=' x. 0)))) &
        a1 = def_func(b1,a2);

:: ZFMODEL1:def 3
theorem
for b1 being Relation-like Function-like set
for b2 being non empty set holds
      b1 is_definable_in b2
   iff
      ex b3 being ZF-formula-like FinSequence of NAT st
         Free b3 c= {x. 3,x. 4} &
          b2 |= All(x. 3,Ex(x. 0,All(x. 4,b3 <=> ((x. 4) '=' x. 0)))) &
          b1 = def_func(b3,b2);

:: ZFMODEL1:prednot 2 => ZFMODEL1:pred 2
definition
  let a1 be Relation-like Function-like set;
  let a2 be non empty set;
  pred A1 is_parametrically_definable_in A2 means
    ex b1 being ZF-formula-like FinSequence of NAT st
       ex b2 being Function-like quasi_total Relation of VAR,a2 st
          {x. 0,x. 1,x. 2} misses Free b1 &
           a2,b2 |= All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((x. 4) '=' x. 0)))) &
           a1 = def_func'(b1,b2);
end;

:: ZFMODEL1:dfs 4
definiens
  let a1 be Relation-like Function-like set;
  let a2 be non empty set;
To prove
     a1 is_parametrically_definable_in a2
it is sufficient to prove
  thus ex b1 being ZF-formula-like FinSequence of NAT st
       ex b2 being Function-like quasi_total Relation of VAR,a2 st
          {x. 0,x. 1,x. 2} misses Free b1 &
           a2,b2 |= All(x. 3,Ex(x. 0,All(x. 4,b1 <=> ((x. 4) '=' x. 0)))) &
           a1 = def_func'(b1,b2);

:: ZFMODEL1:def 4
theorem
for b1 being Relation-like Function-like set
for b2 being non empty set holds
      b1 is_parametrically_definable_in b2
   iff
      ex b3 being ZF-formula-like FinSequence of NAT st
         ex b4 being Function-like quasi_total Relation of VAR,b2 st
            {x. 0,x. 1,x. 2} misses Free b3 &
             b2,b4 |= All(x. 3,Ex(x. 0,All(x. 4,b3 <=> ((x. 4) '=' x. 0)))) &
             b1 = def_func'(b3,b4);

:: ZFMODEL1:th 18
theorem
for b1 being non empty set
for b2 being Relation-like Function-like set
      st b2 is_definable_in b1
   holds b2 is_parametrically_definable_in b1;

:: ZFMODEL1:th 19
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    for b2 being ZF-formula-like FinSequence of NAT
            st {x. 0,x. 1,x. 2} misses Free b2
         holds b1 |= the_axiom_of_substitution_for b2
   iff
      for b2 being ZF-formula-like FinSequence of NAT
      for b3 being Function-like quasi_total Relation of VAR,b1
         st {x. 0,x. 1,x. 2} misses Free b2 &
            b1,b3 |= All(x. 3,Ex(x. 0,All(x. 4,b2 <=> ((x. 4) '=' x. 0))))
      for b4 being Element of b1 holds
         (def_func'(b2,b3)) .: b4 in b1;

:: ZFMODEL1:th 20
theorem
for b1 being non empty set
      st b1 is epsilon-transitive
   holds    for b2 being ZF-formula-like FinSequence of NAT
            st {x. 0,x. 1,x. 2} misses Free b2
         holds b1 |= the_axiom_of_substitution_for b2
   iff
      for b2 being Relation-like Function-like set
         st b2 is_parametrically_definable_in b1
      for b3 being set
            st b3 in b1
         holds b2 .: b3 in b1;

:: ZFMODEL1:th 21
theorem
for b1 being non empty set
      st b1 is being_a_model_of_ZF
   holds b1 is epsilon-transitive &
    (for b2, b3 being Element of b1
          st for b4 being Element of b1 holds
                  b4 in b2
               iff
                  b4 in b3
       holds b2 = b3) &
    (for b2, b3 being Element of b1 holds
    {b2,b3} in b1) &
    (for b2 being Element of b1 holds
       union b2 in b1) &
    (ex b2 being Element of b1 st
       b2 <> {} &
        (for b3 being Element of b1
              st b3 in b2
           holds ex b4 being Element of b1 st
              b3 c< b4 & b4 in b2)) &
    (for b2 being Element of b1 holds
       b1 /\ bool b2 in b1) &
    (for b2 being ZF-formula-like FinSequence of NAT
    for b3 being Function-like quasi_total Relation of VAR,b1
       st {x. 0,x. 1,x. 2} misses Free b2 &
          b1,b3 |= All(x. 3,Ex(x. 0,All(x. 4,b2 <=> ((x. 4) '=' x. 0))))
    for b4 being Element of b1 holds
       (def_func'(b2,b3)) .: b4 in b1);

:: ZFMODEL1:th 22
theorem
for b1 being non empty set
      st b1 is epsilon-transitive &
         (for b2, b3 being Element of b1 holds
         {b2,b3} in b1) &
         (for b2 being Element of b1 holds
            union b2 in b1) &
         (ex b2 being Element of b1 st
            b2 <> {} &
             (for b3 being Element of b1
                   st b3 in b2
                holds ex b4 being Element of b1 st
                   b3 c< b4 & b4 in b2)) &
         (for b2 being Element of b1 holds
            b1 /\ bool b2 in b1) &
         (for b2 being ZF-formula-like FinSequence of NAT
         for b3 being Function-like quasi_total Relation of VAR,b1
            st {x. 0,x. 1,x. 2} misses Free b2 &
               b1,b3 |= All(x. 3,Ex(x. 0,All(x. 4,b2 <=> ((x. 4) '=' x. 0))))
         for b4 being Element of b1 holds
            (def_func'(b2,b3)) .: b4 in b1)
   holds b1 is being_a_model_of_ZF;