let X be c=-linear finite set ; :: thesis: ( not X is with_empty_element implies card X c= card (union X) )
defpred S1[ Nat] means for X being c=-linear finite set st not X is with_empty_element & card (union X) = $1 holds
card X c= card (union X);
defpred S2[ Nat] means for n being Nat st n <= $1 holds
S1[n];
assume A1: not X is with_empty_element ; :: thesis: card X c= card (union X)
A2: for m being Nat st S2[m] holds
S2[m + 1]
proof
let m be Nat; :: thesis: ( S2[m] implies S2[m + 1] )
assume A3: S2[m] ; :: thesis: S2[m + 1]
let n be Nat; :: thesis: ( n <= m + 1 implies S1[n] )
assume A4: n <= m + 1 ; :: thesis: S1[n]
let X be c=-linear finite set ; :: thesis: ( not X is with_empty_element & card (union X) = n implies card X c= card (union X) )
assume that
A5: not X is with_empty_element and
A6: card (union X) = n ; :: thesis: card X c= card (union X)
reconsider u = union X as finite set by A6;
reconsider Xu = X \ {u} as c=-linear finite set ;
per cases ( n <= m or n = m + 1 ) by A4, NAT_1:8;
end;
end;
A13: S2[ 0 ]
proof
let n be Nat; :: thesis: ( n <= 0 implies S1[n] )
assume A14: n <= 0 ; :: thesis: S1[n]
let X be c=-linear finite set ; :: thesis: ( not X is with_empty_element & card (union X) = n implies card X c= card (union X) )
assume A15: ( not X is with_empty_element & card (union X) = n ) ; :: thesis: card X c= card (union X)
X is empty by A14, A15;
hence card X c= card (union X) ; :: thesis: verum
end;
A16: for n being Nat holds S2[n] from NAT_1:sch 2(A13, A2);
per cases ( not union X is finite or union X is finite ) ;
end;