Metamath Proof Explorer


Theorem atmod2i1

Description: Version of modular law pmod2iN 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 atmod2i1 ( ( 𝐾 ∈ 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 hllat ( 𝐾 ∈ HL → 𝐾 ∈ Lat )
7 6 3ad2ant1 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝐾 ∈ Lat )
8 simp22 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝑋𝐵 )
9 simp23 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝑌𝐵 )
10 1 4 latmcom ( ( 𝐾 ∈ Lat ∧ 𝑋𝐵𝑌𝐵 ) → ( 𝑋 𝑌 ) = ( 𝑌 𝑋 ) )
11 7 8 9 10 syl3anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑋 𝑌 ) = ( 𝑌 𝑋 ) )
12 11 oveq2d ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑃 ( 𝑋 𝑌 ) ) = ( 𝑃 ( 𝑌 𝑋 ) ) )
13 simp21 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝑃𝐴 )
14 1 5 atbase ( 𝑃𝐴𝑃𝐵 )
15 13 14 syl ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝑃𝐵 )
16 1 4 latmcl ( ( 𝐾 ∈ Lat ∧ 𝑋𝐵𝑌𝐵 ) → ( 𝑋 𝑌 ) ∈ 𝐵 )
17 7 8 9 16 syl3anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑋 𝑌 ) ∈ 𝐵 )
18 1 3 latjcom ( ( 𝐾 ∈ Lat ∧ 𝑃𝐵 ∧ ( 𝑋 𝑌 ) ∈ 𝐵 ) → ( 𝑃 ( 𝑋 𝑌 ) ) = ( ( 𝑋 𝑌 ) 𝑃 ) )
19 7 15 17 18 syl3anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑃 ( 𝑋 𝑌 ) ) = ( ( 𝑋 𝑌 ) 𝑃 ) )
20 1 3 latjcl ( ( 𝐾 ∈ Lat ∧ 𝑃𝐵𝑌𝐵 ) → ( 𝑃 𝑌 ) ∈ 𝐵 )
21 7 15 9 20 syl3anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑃 𝑌 ) ∈ 𝐵 )
22 1 4 latmcom ( ( 𝐾 ∈ Lat ∧ ( 𝑃 𝑌 ) ∈ 𝐵𝑋𝐵 ) → ( ( 𝑃 𝑌 ) 𝑋 ) = ( 𝑋 ( 𝑃 𝑌 ) ) )
23 7 21 8 22 syl3anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( ( 𝑃 𝑌 ) 𝑋 ) = ( 𝑋 ( 𝑃 𝑌 ) ) )
24 simp1 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝐾 ∈ HL )
25 simp3 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → 𝑃 𝑋 )
26 1 2 3 4 5 atmod1i1 ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑌𝐵𝑋𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑃 ( 𝑌 𝑋 ) ) = ( ( 𝑃 𝑌 ) 𝑋 ) )
27 24 13 9 8 25 26 syl131anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑃 ( 𝑌 𝑋 ) ) = ( ( 𝑃 𝑌 ) 𝑋 ) )
28 1 3 latjcom ( ( 𝐾 ∈ Lat ∧ 𝑌𝐵𝑃𝐵 ) → ( 𝑌 𝑃 ) = ( 𝑃 𝑌 ) )
29 7 9 15 28 syl3anc ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑌 𝑃 ) = ( 𝑃 𝑌 ) )
30 29 oveq2d ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑋 ( 𝑌 𝑃 ) ) = ( 𝑋 ( 𝑃 𝑌 ) ) )
31 23 27 30 3eqtr4d ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( 𝑃 ( 𝑌 𝑋 ) ) = ( 𝑋 ( 𝑌 𝑃 ) ) )
32 12 19 31 3eqtr3d ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑋𝐵𝑌𝐵 ) ∧ 𝑃 𝑋 ) → ( ( 𝑋 𝑌 ) 𝑃 ) = ( 𝑋 ( 𝑌 𝑃 ) ) )