Metamath Proof Explorer


Theorem hatomistici

Description: CH is atomistic, i.e. any element is the supremum of its atoms. Remark in Kalmbach p. 140. (Contributed by NM, 14-Aug-2002) (New usage is discouraged.)

Ref Expression
Hypothesis hatomistic.1 𝐴C
Assertion hatomistici 𝐴 = ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } )

Proof

Step Hyp Ref Expression
1 hatomistic.1 𝐴C
2 ssrab2 { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ HAtoms
3 atssch HAtoms ⊆ C
4 2 3 sstri { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ C
5 chsupcl ( { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ C → ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∈ C )
6 4 5 ax-mp ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∈ C
7 1 chshii 𝐴S
8 atelch ( 𝑦 ∈ HAtoms → 𝑦C )
9 8 anim1i ( ( 𝑦 ∈ HAtoms ∧ 𝑦𝐴 ) → ( 𝑦C𝑦𝐴 ) )
10 sseq1 ( 𝑥 = 𝑦 → ( 𝑥𝐴𝑦𝐴 ) )
11 10 elrab ( 𝑦 ∈ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ↔ ( 𝑦 ∈ HAtoms ∧ 𝑦𝐴 ) )
12 10 elrab ( 𝑦 ∈ { 𝑥C𝑥𝐴 } ↔ ( 𝑦C𝑦𝐴 ) )
13 9 11 12 3imtr4i ( 𝑦 ∈ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } → 𝑦 ∈ { 𝑥C𝑥𝐴 } )
14 13 ssriv { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ { 𝑥C𝑥𝐴 }
15 ssrab2 { 𝑥C𝑥𝐴 } ⊆ C
16 chsupss ( ( { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ C ∧ { 𝑥C𝑥𝐴 } ⊆ C ) → ( { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ { 𝑥C𝑥𝐴 } → ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ⊆ ( ‘ { 𝑥C𝑥𝐴 } ) ) )
17 4 15 16 mp2an ( { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ { 𝑥C𝑥𝐴 } → ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ⊆ ( ‘ { 𝑥C𝑥𝐴 } ) )
18 14 17 ax-mp ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ⊆ ( ‘ { 𝑥C𝑥𝐴 } )
19 chsupid ( 𝐴C → ( ‘ { 𝑥C𝑥𝐴 } ) = 𝐴 )
20 1 19 ax-mp ( ‘ { 𝑥C𝑥𝐴 } ) = 𝐴
21 18 20 sseqtri ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ⊆ 𝐴
22 elssuni ( 𝑦 ∈ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } → 𝑦 { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } )
23 11 22 sylbir ( ( 𝑦 ∈ HAtoms ∧ 𝑦𝐴 ) → 𝑦 { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } )
24 chsupunss ( { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ C { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) )
25 4 24 ax-mp { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } )
26 23 25 sstrdi ( ( 𝑦 ∈ HAtoms ∧ 𝑦𝐴 ) → 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) )
27 26 ex ( 𝑦 ∈ HAtoms → ( 𝑦𝐴𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) )
28 atne0 ( 𝑦 ∈ HAtoms → 𝑦 ≠ 0 )
29 28 adantr ( ( 𝑦 ∈ HAtoms ∧ 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) → 𝑦 ≠ 0 )
30 ssin ( ( 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∧ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ↔ 𝑦 ⊆ ( ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
31 6 chocini ( ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) = 0
32 31 sseq2i ( 𝑦 ⊆ ( ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ↔ 𝑦 ⊆ 0 )
33 30 32 bitr2i ( 𝑦 ⊆ 0 ↔ ( 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∧ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
34 chle0 ( 𝑦C → ( 𝑦 ⊆ 0𝑦 = 0 ) )
35 8 34 syl ( 𝑦 ∈ HAtoms → ( 𝑦 ⊆ 0𝑦 = 0 ) )
36 33 35 bitr3id ( 𝑦 ∈ HAtoms → ( ( 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∧ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ↔ 𝑦 = 0 ) )
37 36 biimpa ( ( 𝑦 ∈ HAtoms ∧ ( 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ∧ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ) → 𝑦 = 0 )
38 37 expr ( ( 𝑦 ∈ HAtoms ∧ 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) → ( 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) → 𝑦 = 0 ) )
39 38 necon3ad ( ( 𝑦 ∈ HAtoms ∧ 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) → ( 𝑦 ≠ 0 → ¬ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
40 29 39 mpd ( ( 𝑦 ∈ HAtoms ∧ 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) → ¬ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) )
41 40 ex ( 𝑦 ∈ HAtoms → ( 𝑦 ⊆ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) → ¬ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
42 27 41 syld ( 𝑦 ∈ HAtoms → ( 𝑦𝐴 → ¬ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
43 imnan ( ( 𝑦𝐴 → ¬ 𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ↔ ¬ ( 𝑦𝐴𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
44 42 43 sylib ( 𝑦 ∈ HAtoms → ¬ ( 𝑦𝐴𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
45 ssin ( ( 𝑦𝐴𝑦 ⊆ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ↔ 𝑦 ⊆ ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
46 44 45 sylnib ( 𝑦 ∈ HAtoms → ¬ 𝑦 ⊆ ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
47 46 nrex ¬ ∃ 𝑦 ∈ HAtoms 𝑦 ⊆ ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) )
48 6 choccli ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ∈ C
49 1 48 chincli ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ∈ C
50 49 hatomici ( ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) ≠ 0 → ∃ 𝑦 ∈ HAtoms 𝑦 ⊆ ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) )
51 50 necon1bi ( ¬ ∃ 𝑦 ∈ HAtoms 𝑦 ⊆ ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) → ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) = 0 )
52 47 51 ax-mp ( 𝐴 ∩ ( ⊥ ‘ ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) ) ) = 0
53 6 7 21 52 omlsii ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } ) = 𝐴
54 53 eqcomi 𝐴 = ( ‘ { 𝑥 ∈ HAtoms ∣ 𝑥𝐴 } )