Metamath Proof Explorer


Theorem elat2

Description: Expanded membership relation for the set of atoms, i.e. the predicate "is an atom (of the Hilbert lattice)." An atom is a nonzero element of a lattice such that anything less than it is zero, i.e. it is the smallest nonzero element of the lattice. (Contributed by NM, 9-Jun-2004) (New usage is discouraged.)

Ref Expression
Assertion elat2 ( 𝐴 ∈ HAtoms ↔ ( 𝐴C ∧ ( 𝐴 ≠ 0 ∧ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 ela ( 𝐴 ∈ HAtoms ↔ ( 𝐴C ∧ 0 𝐴 ) )
2 h0elch 0C
3 cvbr2 ( ( 0C𝐴C ) → ( 0 𝐴 ↔ ( 0𝐴 ∧ ∀ 𝑥C ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ) ) )
4 2 3 mpan ( 𝐴C → ( 0 𝐴 ↔ ( 0𝐴 ∧ ∀ 𝑥C ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ) ) )
5 ch0pss ( 𝐴C → ( 0𝐴𝐴 ≠ 0 ) )
6 ch0pss ( 𝑥C → ( 0𝑥𝑥 ≠ 0 ) )
7 6 imbi1d ( 𝑥C → ( ( 0𝑥𝑥 = 𝐴 ) ↔ ( 𝑥 ≠ 0𝑥 = 𝐴 ) ) )
8 7 imbi2d ( 𝑥C → ( ( 𝑥𝐴 → ( 0𝑥𝑥 = 𝐴 ) ) ↔ ( 𝑥𝐴 → ( 𝑥 ≠ 0𝑥 = 𝐴 ) ) ) )
9 impexp ( ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ↔ ( 0𝑥 → ( 𝑥𝐴𝑥 = 𝐴 ) ) )
10 bi2.04 ( ( 0𝑥 → ( 𝑥𝐴𝑥 = 𝐴 ) ) ↔ ( 𝑥𝐴 → ( 0𝑥𝑥 = 𝐴 ) ) )
11 9 10 bitri ( ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ↔ ( 𝑥𝐴 → ( 0𝑥𝑥 = 𝐴 ) ) )
12 orcom ( ( 𝑥 = 𝐴𝑥 = 0 ) ↔ ( 𝑥 = 0𝑥 = 𝐴 ) )
13 neor ( ( 𝑥 = 0𝑥 = 𝐴 ) ↔ ( 𝑥 ≠ 0𝑥 = 𝐴 ) )
14 12 13 bitri ( ( 𝑥 = 𝐴𝑥 = 0 ) ↔ ( 𝑥 ≠ 0𝑥 = 𝐴 ) )
15 14 imbi2i ( ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ↔ ( 𝑥𝐴 → ( 𝑥 ≠ 0𝑥 = 𝐴 ) ) )
16 8 11 15 3bitr4g ( 𝑥C → ( ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ↔ ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) )
17 16 ralbiia ( ∀ 𝑥C ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ↔ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) )
18 17 a1i ( 𝐴C → ( ∀ 𝑥C ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ↔ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) )
19 5 18 anbi12d ( 𝐴C → ( ( 0𝐴 ∧ ∀ 𝑥C ( ( 0𝑥𝑥𝐴 ) → 𝑥 = 𝐴 ) ) ↔ ( 𝐴 ≠ 0 ∧ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) ) )
20 4 19 bitr2d ( 𝐴C → ( ( 𝐴 ≠ 0 ∧ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) ↔ 0 𝐴 ) )
21 20 pm5.32i ( ( 𝐴C ∧ ( 𝐴 ≠ 0 ∧ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) ) ↔ ( 𝐴C ∧ 0 𝐴 ) )
22 1 21 bitr4i ( 𝐴 ∈ HAtoms ↔ ( 𝐴C ∧ ( 𝐴 ≠ 0 ∧ ∀ 𝑥C ( 𝑥𝐴 → ( 𝑥 = 𝐴𝑥 = 0 ) ) ) ) )