Metamath Proof Explorer


Theorem fldexttr

Description: Field extension is a transitive relation. (Contributed by Thierry Arnoux, 29-Jul-2023)

Ref Expression
Assertion fldexttr ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐸 /FldExt 𝐾 )

Proof

Step Hyp Ref Expression
1 simpr ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐹 /FldExt 𝐾 )
2 simpl ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐸 /FldExt 𝐹 )
3 fldextfld2 ( 𝐸 /FldExt 𝐹𝐹 ∈ Field )
4 2 3 syl ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐹 ∈ Field )
5 fldextfld2 ( 𝐹 /FldExt 𝐾𝐾 ∈ Field )
6 1 5 syl ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐾 ∈ Field )
7 brfldext ( ( 𝐹 ∈ Field ∧ 𝐾 ∈ Field ) → ( 𝐹 /FldExt 𝐾 ↔ ( 𝐾 = ( 𝐹s ( Base ‘ 𝐾 ) ) ∧ ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐹 ) ) ) )
8 4 6 7 syl2anc ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐹 /FldExt 𝐾 ↔ ( 𝐾 = ( 𝐹s ( Base ‘ 𝐾 ) ) ∧ ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐹 ) ) ) )
9 1 8 mpbid ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐾 = ( 𝐹s ( Base ‘ 𝐾 ) ) ∧ ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐹 ) ) )
10 9 simpld ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐾 = ( 𝐹s ( Base ‘ 𝐾 ) ) )
11 fldextfld1 ( 𝐸 /FldExt 𝐹𝐸 ∈ Field )
12 2 11 syl ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐸 ∈ Field )
13 brfldext ( ( 𝐸 ∈ Field ∧ 𝐹 ∈ Field ) → ( 𝐸 /FldExt 𝐹 ↔ ( 𝐹 = ( 𝐸s ( Base ‘ 𝐹 ) ) ∧ ( Base ‘ 𝐹 ) ∈ ( SubRing ‘ 𝐸 ) ) ) )
14 12 4 13 syl2anc ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐸 /FldExt 𝐹 ↔ ( 𝐹 = ( 𝐸s ( Base ‘ 𝐹 ) ) ∧ ( Base ‘ 𝐹 ) ∈ ( SubRing ‘ 𝐸 ) ) ) )
15 2 14 mpbid ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐹 = ( 𝐸s ( Base ‘ 𝐹 ) ) ∧ ( Base ‘ 𝐹 ) ∈ ( SubRing ‘ 𝐸 ) ) )
16 15 simpld ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐹 = ( 𝐸s ( Base ‘ 𝐹 ) ) )
17 16 oveq1d ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐹s ( Base ‘ 𝐾 ) ) = ( ( 𝐸s ( Base ‘ 𝐹 ) ) ↾s ( Base ‘ 𝐾 ) ) )
18 fvex ( Base ‘ 𝐹 ) ∈ V
19 fvex ( Base ‘ 𝐾 ) ∈ V
20 ressress ( ( ( Base ‘ 𝐹 ) ∈ V ∧ ( Base ‘ 𝐾 ) ∈ V ) → ( ( 𝐸s ( Base ‘ 𝐹 ) ) ↾s ( Base ‘ 𝐾 ) ) = ( 𝐸s ( ( Base ‘ 𝐹 ) ∩ ( Base ‘ 𝐾 ) ) ) )
21 18 19 20 mp2an ( ( 𝐸s ( Base ‘ 𝐹 ) ) ↾s ( Base ‘ 𝐾 ) ) = ( 𝐸s ( ( Base ‘ 𝐹 ) ∩ ( Base ‘ 𝐾 ) ) )
22 17 21 eqtrdi ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐹s ( Base ‘ 𝐾 ) ) = ( 𝐸s ( ( Base ‘ 𝐹 ) ∩ ( Base ‘ 𝐾 ) ) ) )
23 incom ( ( Base ‘ 𝐾 ) ∩ ( Base ‘ 𝐹 ) ) = ( ( Base ‘ 𝐹 ) ∩ ( Base ‘ 𝐾 ) )
24 9 simprd ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐹 ) )
25 eqid ( Base ‘ 𝐹 ) = ( Base ‘ 𝐹 )
26 25 subrgss ( ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐹 ) → ( Base ‘ 𝐾 ) ⊆ ( Base ‘ 𝐹 ) )
27 24 26 syl ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( Base ‘ 𝐾 ) ⊆ ( Base ‘ 𝐹 ) )
28 df-ss ( ( Base ‘ 𝐾 ) ⊆ ( Base ‘ 𝐹 ) ↔ ( ( Base ‘ 𝐾 ) ∩ ( Base ‘ 𝐹 ) ) = ( Base ‘ 𝐾 ) )
29 27 28 sylib ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( ( Base ‘ 𝐾 ) ∩ ( Base ‘ 𝐹 ) ) = ( Base ‘ 𝐾 ) )
30 23 29 eqtr3id ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( ( Base ‘ 𝐹 ) ∩ ( Base ‘ 𝐾 ) ) = ( Base ‘ 𝐾 ) )
31 30 oveq2d ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐸s ( ( Base ‘ 𝐹 ) ∩ ( Base ‘ 𝐾 ) ) ) = ( 𝐸s ( Base ‘ 𝐾 ) ) )
32 10 22 31 3eqtrd ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐾 = ( 𝐸s ( Base ‘ 𝐾 ) ) )
33 15 simprd ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( Base ‘ 𝐹 ) ∈ ( SubRing ‘ 𝐸 ) )
34 16 fveq2d ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( SubRing ‘ 𝐹 ) = ( SubRing ‘ ( 𝐸s ( Base ‘ 𝐹 ) ) ) )
35 24 34 eleqtrd ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ ( 𝐸s ( Base ‘ 𝐹 ) ) ) )
36 eqid ( 𝐸s ( Base ‘ 𝐹 ) ) = ( 𝐸s ( Base ‘ 𝐹 ) )
37 36 subsubrg ( ( Base ‘ 𝐹 ) ∈ ( SubRing ‘ 𝐸 ) → ( ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ ( 𝐸s ( Base ‘ 𝐹 ) ) ) ↔ ( ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐸 ) ∧ ( Base ‘ 𝐾 ) ⊆ ( Base ‘ 𝐹 ) ) ) )
38 37 simprbda ( ( ( Base ‘ 𝐹 ) ∈ ( SubRing ‘ 𝐸 ) ∧ ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ ( 𝐸s ( Base ‘ 𝐹 ) ) ) ) → ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐸 ) )
39 33 35 38 syl2anc ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐸 ) )
40 brfldext ( ( 𝐸 ∈ Field ∧ 𝐾 ∈ Field ) → ( 𝐸 /FldExt 𝐾 ↔ ( 𝐾 = ( 𝐸s ( Base ‘ 𝐾 ) ) ∧ ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐸 ) ) ) )
41 12 6 40 syl2anc ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → ( 𝐸 /FldExt 𝐾 ↔ ( 𝐾 = ( 𝐸s ( Base ‘ 𝐾 ) ) ∧ ( Base ‘ 𝐾 ) ∈ ( SubRing ‘ 𝐸 ) ) ) )
42 32 39 41 mpbir2and ( ( 𝐸 /FldExt 𝐹𝐹 /FldExt 𝐾 ) → 𝐸 /FldExt 𝐾 )