Metamath Proof Explorer


Theorem isat3

Description: The predicate "is an atom". ( elat2 analog.) (Contributed by NM, 27-Apr-2014)

Ref Expression
Hypotheses isat3.b 𝐵 = ( Base ‘ 𝐾 )
isat3.l = ( le ‘ 𝐾 )
isat3.z 0 = ( 0. ‘ 𝐾 )
isat3.a 𝐴 = ( Atoms ‘ 𝐾 )
Assertion isat3 ( 𝐾 ∈ AtLat → ( 𝑃𝐴 ↔ ( 𝑃𝐵𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 isat3.b 𝐵 = ( Base ‘ 𝐾 )
2 isat3.l = ( le ‘ 𝐾 )
3 isat3.z 0 = ( 0. ‘ 𝐾 )
4 isat3.a 𝐴 = ( Atoms ‘ 𝐾 )
5 eqid ( ⋖ ‘ 𝐾 ) = ( ⋖ ‘ 𝐾 )
6 1 3 5 4 isat ( 𝐾 ∈ AtLat → ( 𝑃𝐴 ↔ ( 𝑃𝐵0 ( ⋖ ‘ 𝐾 ) 𝑃 ) ) )
7 simpl ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → 𝐾 ∈ AtLat )
8 1 3 atl0cl ( 𝐾 ∈ AtLat → 0𝐵 )
9 8 adantr ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → 0𝐵 )
10 simpr ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → 𝑃𝐵 )
11 eqid ( lt ‘ 𝐾 ) = ( lt ‘ 𝐾 )
12 1 2 11 5 cvrval2 ( ( 𝐾 ∈ AtLat ∧ 0𝐵𝑃𝐵 ) → ( 0 ( ⋖ ‘ 𝐾 ) 𝑃 ↔ ( 0 ( lt ‘ 𝐾 ) 𝑃 ∧ ∀ 𝑥𝐵 ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ) ) )
13 7 9 10 12 syl3anc ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → ( 0 ( ⋖ ‘ 𝐾 ) 𝑃 ↔ ( 0 ( lt ‘ 𝐾 ) 𝑃 ∧ ∀ 𝑥𝐵 ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ) ) )
14 1 11 3 atlltn0 ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → ( 0 ( lt ‘ 𝐾 ) 𝑃𝑃0 ) )
15 1 11 3 atlltn0 ( ( 𝐾 ∈ AtLat ∧ 𝑥𝐵 ) → ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥0 ) )
16 15 adantlr ( ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) ∧ 𝑥𝐵 ) → ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥0 ) )
17 16 imbi1d ( ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) ∧ 𝑥𝐵 ) → ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 = 𝑃 ) ↔ ( 𝑥0𝑥 = 𝑃 ) ) )
18 17 imbi2d ( ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) ∧ 𝑥𝐵 ) → ( ( 𝑥 𝑃 → ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 = 𝑃 ) ) ↔ ( 𝑥 𝑃 → ( 𝑥0𝑥 = 𝑃 ) ) ) )
19 impexp ( ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ↔ ( 0 ( lt ‘ 𝐾 ) 𝑥 → ( 𝑥 𝑃𝑥 = 𝑃 ) ) )
20 bi2.04 ( ( 0 ( lt ‘ 𝐾 ) 𝑥 → ( 𝑥 𝑃𝑥 = 𝑃 ) ) ↔ ( 𝑥 𝑃 → ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 = 𝑃 ) ) )
21 19 20 bitri ( ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ↔ ( 𝑥 𝑃 → ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 = 𝑃 ) ) )
22 orcom ( ( 𝑥 = 𝑃𝑥 = 0 ) ↔ ( 𝑥 = 0𝑥 = 𝑃 ) )
23 neor ( ( 𝑥 = 0𝑥 = 𝑃 ) ↔ ( 𝑥0𝑥 = 𝑃 ) )
24 22 23 bitri ( ( 𝑥 = 𝑃𝑥 = 0 ) ↔ ( 𝑥0𝑥 = 𝑃 ) )
25 24 imbi2i ( ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ↔ ( 𝑥 𝑃 → ( 𝑥0𝑥 = 𝑃 ) ) )
26 18 21 25 3bitr4g ( ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) ∧ 𝑥𝐵 ) → ( ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ↔ ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) )
27 26 ralbidva ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → ( ∀ 𝑥𝐵 ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ↔ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) )
28 14 27 anbi12d ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → ( ( 0 ( lt ‘ 𝐾 ) 𝑃 ∧ ∀ 𝑥𝐵 ( ( 0 ( lt ‘ 𝐾 ) 𝑥𝑥 𝑃 ) → 𝑥 = 𝑃 ) ) ↔ ( 𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ) )
29 13 28 bitr2d ( ( 𝐾 ∈ AtLat ∧ 𝑃𝐵 ) → ( ( 𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ↔ 0 ( ⋖ ‘ 𝐾 ) 𝑃 ) )
30 29 pm5.32da ( 𝐾 ∈ AtLat → ( ( 𝑃𝐵 ∧ ( 𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ) ↔ ( 𝑃𝐵0 ( ⋖ ‘ 𝐾 ) 𝑃 ) ) )
31 6 30 bitr4d ( 𝐾 ∈ AtLat → ( 𝑃𝐴 ↔ ( 𝑃𝐵 ∧ ( 𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ) ) )
32 3anass ( ( 𝑃𝐵𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ↔ ( 𝑃𝐵 ∧ ( 𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ) )
33 31 32 bitr4di ( 𝐾 ∈ AtLat → ( 𝑃𝐴 ↔ ( 𝑃𝐵𝑃0 ∧ ∀ 𝑥𝐵 ( 𝑥 𝑃 → ( 𝑥 = 𝑃𝑥 = 0 ) ) ) ) )