Article ZF_FUND2, MML version 4.99.1005

:: ZF_FUND2:funcnot 1 => ZF_FUND2: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;
  func Section(A1,A3) -> Element of bool a2 equals
    {b1 where b1 is Element of a2: a2,a3 /(x. 0,b1) |= a1}
    if x. 0 in Free a1
    otherwise {};
end;

:: ZF_FUND2: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 holds
   (x. 0 in Free b1 implies Section(b1,b3) = {b4 where b4 is Element of b2: b2,b3 /(x. 0,b4) |= b1}) &
    (x. 0 in Free b1 or Section(b1,b3) = {});

:: ZF_FUND2:attrnot 1 => ZF_FUND2:attr 1
definition
  let a1 be non empty set;
  attr a1 is predicatively_closed means
    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 b2 in a1
       holds Section(b1,b3) in a1;
end;

:: ZF_FUND2:dfs 2
definiens
  let a1 be non empty set;
To prove
     a1 is predicatively_closed
it is sufficient to prove
  thus 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 b2 in a1
       holds Section(b1,b3) in a1;

:: ZF_FUND2:def 2
theorem
for b1 being non empty set holds
      b1 is predicatively_closed
   iff
      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 b3 in b1
         holds Section(b2,b4) in b1;

:: ZF_FUND2:th 1
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being Function-like quasi_total Relation of VAR,b1
      st b1 is epsilon-transitive
   holds Section(All(x. 2,((x. 2) 'in' x. 0) => ((x. 2) 'in' x. 1)),b3 /(x. 1,b2)) = b1 /\ bool b2;

:: ZF_FUND2:th 2
theorem
for b1 being non empty universal set
for b2 being non-empty DOMAIN-yielding T-Sequence of b1
      st (for b3, b4 being Ordinal of b1
               st b3 in b4
            holds b2 . b3 c= b2 . b4) &
         (for b3 being Ordinal of b1 holds
            b2 . b3 in Union b2 & b2 . b3 is epsilon-transitive) &
         Union b2 is predicatively_closed
   holds Union b2 |= the_axiom_of_power_sets;

:: ZF_FUND2:th 3
theorem
for b1 being non empty universal set
for b2 being non-empty DOMAIN-yielding T-Sequence of b1
   st omega in b1 &
      (for b3, b4 being Ordinal of b1
            st b3 in b4
         holds b2 . b3 c= b2 . b4) &
      (for b3 being Ordinal of b1
            st b3 <> {} & b3 is being_limit_ordinal
         holds b2 . b3 = Union (b2 | b3)) &
      (for b3 being Ordinal of b1 holds
         b2 . b3 in Union b2 & b2 . b3 is epsilon-transitive) &
      Union b2 is predicatively_closed
for b3 being ZF-formula-like FinSequence of NAT
      st {x. 0,x. 1,x. 2} misses Free b3
   holds Union b2 |= the_axiom_of_substitution_for b3;

:: ZF_FUND2:th 4
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 holds
   Section(b1,b3) = {b4 where b4 is Element of b2: {[{},b4]} \/ ((b3 * decode) | ((code Free b1) \ {{}})) in Diagram(b1,b2)};

:: ZF_FUND2:th 5
theorem
for b1 being non empty universal set
for b2 being non empty Element of bool b1
      st b2 is closed_wrt_A1-(b1) & b2 is epsilon-transitive
   holds b2 is predicatively_closed;

:: ZF_FUND2:th 6
theorem
for b1 being non empty universal set
for b2 being non-empty DOMAIN-yielding T-Sequence of b1
      st omega in b1 &
         (for b3, b4 being Ordinal of b1
               st b3 in b4
            holds b2 . b3 c= b2 . b4) &
         (for b3 being Ordinal of b1
               st b3 <> {} & b3 is being_limit_ordinal
            holds b2 . b3 = Union (b2 | b3)) &
         (for b3 being Ordinal of b1 holds
            b2 . b3 in Union b2 & b2 . b3 is epsilon-transitive) &
         Union b2 is closed_wrt_A1-(b1)
   holds Union b2 is being_a_model_of_ZF;