Metamath Proof Explorer


Theorem atmod1i2

Description: Version of modular law pmod1i that holds in a Hilbert lattice, when one element is an atom. (Contributed by NM, 14-May-2012) (Revised by Mario Carneiro, 10-May-2013)

Ref Expression
Hypotheses atmod.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
atmod.l ⊢ ≤ = ( le ‘ 𝐾 )
atmod.j ⊢ ∨ = ( join ‘ 𝐾 )
atmod.m ⊢ ∧ = ( meet ‘ 𝐾 )
atmod.a ⊢ 𝐴 = ( Atoms ‘ 𝐾 )
Assertion atmod1i2 ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ∧ 𝑋 ≤ 𝑌 ) → ( 𝑋 ∨ ( 𝑃 ∧ 𝑌 ) ) = ( ( 𝑋 ∨ 𝑃 ) ∧ 𝑌 ) )

Proof

Step Hyp Ref Expression
1 atmod.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
2 atmod.l ⊢ ≤ = ( le ‘ 𝐾 )
3 atmod.j ⊢ ∨ = ( join ‘ 𝐾 )
4 atmod.m ⊢ ∧ = ( meet ‘ 𝐾 )
5 atmod.a ⊢ 𝐴 = ( Atoms ‘ 𝐾 )
6 simpl ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → 𝐾 ∈ HL )
7 simpr2 ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → 𝑋 ∈ 𝐵 )
8 simpr1 ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → 𝑃 ∈ 𝐴 )
9 eqid ⊢ ( pmap ‘ 𝐾 ) = ( pmap ‘ 𝐾 )
10 eqid ⊢ ( +𝑃 ‘ 𝐾 ) = ( +𝑃 ‘ 𝐾 )
11 1 3 5 9 10 pmapjat1 ⊢ ( ( 𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑃 ∈ 𝐴 ) → ( ( pmap ‘ 𝐾 ) ‘ ( 𝑋 ∨ 𝑃 ) ) = ( ( ( pmap ‘ 𝐾 ) ‘ 𝑋 ) ( +𝑃 ‘ 𝐾 ) ( ( pmap ‘ 𝐾 ) ‘ 𝑃 ) ) )
12 6 7 8 11 syl3anc ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → ( ( pmap ‘ 𝐾 ) ‘ ( 𝑋 ∨ 𝑃 ) ) = ( ( ( pmap ‘ 𝐾 ) ‘ 𝑋 ) ( +𝑃 ‘ 𝐾 ) ( ( pmap ‘ 𝐾 ) ‘ 𝑃 ) ) )
13 1 5 atbase ⊢ ( 𝑃 ∈ 𝐴 → 𝑃 ∈ 𝐵 )
14 8 13 syl ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → 𝑃 ∈ 𝐵 )
15 simpr3 ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → 𝑌 ∈ 𝐵 )
16 1 2 3 4 9 10 hlmod1i ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑋 ∈ 𝐵 ∧ 𝑃 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → ( ( 𝑋 ≤ 𝑌 ∧ ( ( pmap ‘ 𝐾 ) ‘ ( 𝑋 ∨ 𝑃 ) ) = ( ( ( pmap ‘ 𝐾 ) ‘ 𝑋 ) ( +𝑃 ‘ 𝐾 ) ( ( pmap ‘ 𝐾 ) ‘ 𝑃 ) ) ) → ( ( 𝑋 ∨ 𝑃 ) ∧ 𝑌 ) = ( 𝑋 ∨ ( 𝑃 ∧ 𝑌 ) ) ) )
17 6 7 14 15 16 syl13anc ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → ( ( 𝑋 ≤ 𝑌 ∧ ( ( pmap ‘ 𝐾 ) ‘ ( 𝑋 ∨ 𝑃 ) ) = ( ( ( pmap ‘ 𝐾 ) ‘ 𝑋 ) ( +𝑃 ‘ 𝐾 ) ( ( pmap ‘ 𝐾 ) ‘ 𝑃 ) ) ) → ( ( 𝑋 ∨ 𝑃 ) ∧ 𝑌 ) = ( 𝑋 ∨ ( 𝑃 ∧ 𝑌 ) ) ) )
18 12 17 mpan2d ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ) → ( 𝑋 ≤ 𝑌 → ( ( 𝑋 ∨ 𝑃 ) ∧ 𝑌 ) = ( 𝑋 ∨ ( 𝑃 ∧ 𝑌 ) ) ) )
19 18 3impia ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ∧ 𝑋 ≤ 𝑌 ) → ( ( 𝑋 ∨ 𝑃 ) ∧ 𝑌 ) = ( 𝑋 ∨ ( 𝑃 ∧ 𝑌 ) ) )
20 19 eqcomd ⊢ ( ( 𝐾 ∈ HL ∧ ( 𝑃 ∈ 𝐴 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵 ) ∧ 𝑋 ≤ 𝑌 ) → ( 𝑋 ∨ ( 𝑃 ∧ 𝑌 ) ) = ( ( 𝑋 ∨ 𝑃 ) ∧ 𝑌 ) )