Metamath Proof Explorer


Theorem iscgra

Description: Property for two angles ABC and DEF to be congruent. This is a modified version of the definition 11.3 of Schwabhauser p. 95. where the number of constructed points has been reduced to two. We chose this version rather than the textbook version because it is shorter and therefore simpler to work with. Theorem dfcgra2 shows that those definitions are indeed equivalent. (Contributed by Thierry Arnoux, 31-Jul-2020)

Ref Expression
Hypotheses iscgra.p P=BaseG
iscgra.i I=ItvG
iscgra.k K=hl𝒢G
iscgra.g φG𝒢Tarski
iscgra.a φAP
iscgra.b φBP
iscgra.c φCP
iscgra.d φDP
iscgra.e φEP
iscgra.f φFP
Assertion iscgra φ⟨“ABC”⟩𝒢G⟨“DEF”⟩xPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF

Proof

Step Hyp Ref Expression
1 iscgra.p P=BaseG
2 iscgra.i I=ItvG
3 iscgra.k K=hl𝒢G
4 iscgra.g φG𝒢Tarski
5 iscgra.a φAP
6 iscgra.b φBP
7 iscgra.c φCP
8 iscgra.d φDP
9 iscgra.e φEP
10 iscgra.f φFP
11 simpl a=⟨“ABC”⟩b=⟨“DEF”⟩a=⟨“ABC”⟩
12 eqidd a=⟨“ABC”⟩b=⟨“DEF”⟩x=x
13 simpr a=⟨“ABC”⟩b=⟨“DEF”⟩b=⟨“DEF”⟩
14 13 fveq1d a=⟨“ABC”⟩b=⟨“DEF”⟩b1=⟨“DEF”⟩1
15 eqidd a=⟨“ABC”⟩b=⟨“DEF”⟩y=y
16 12 14 15 s3eqd a=⟨“ABC”⟩b=⟨“DEF”⟩⟨“xb1y”⟩=⟨“x⟨“DEF”⟩1y”⟩
17 11 16 breq12d a=⟨“ABC”⟩b=⟨“DEF”⟩a𝒢G⟨“xb1y”⟩⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩
18 14 fveq2d a=⟨“ABC”⟩b=⟨“DEF”⟩Kb1=K⟨“DEF”⟩1
19 13 fveq1d a=⟨“ABC”⟩b=⟨“DEF”⟩b0=⟨“DEF”⟩0
20 12 18 19 breq123d a=⟨“ABC”⟩b=⟨“DEF”⟩xKb1b0xK⟨“DEF”⟩1⟨“DEF”⟩0
21 13 fveq1d a=⟨“ABC”⟩b=⟨“DEF”⟩b2=⟨“DEF”⟩2
22 15 18 21 breq123d a=⟨“ABC”⟩b=⟨“DEF”⟩yKb1b2yK⟨“DEF”⟩1⟨“DEF”⟩2
23 17 20 22 3anbi123d a=⟨“ABC”⟩b=⟨“DEF”⟩a𝒢G⟨“xb1y”⟩xKb1b0yKb1b2⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩xK⟨“DEF”⟩1⟨“DEF”⟩0yK⟨“DEF”⟩1⟨“DEF”⟩2
24 23 2rexbidv a=⟨“ABC”⟩b=⟨“DEF”⟩xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2xPyP⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩xK⟨“DEF”⟩1⟨“DEF”⟩0yK⟨“DEF”⟩1⟨“DEF”⟩2
25 eqid ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2=ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
26 24 25 brab2a ⟨“ABC”⟩ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2⟨“DEF”⟩⟨“ABC”⟩P0..^3⟨“DEF”⟩P0..^3xPyP⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩xK⟨“DEF”⟩1⟨“DEF”⟩0yK⟨“DEF”⟩1⟨“DEF”⟩2
27 eqidd φxPyPx=x
28 s3fv1 EP⟨“DEF”⟩1=E
29 9 28 syl φ⟨“DEF”⟩1=E
30 29 adantr φxPyP⟨“DEF”⟩1=E
31 eqidd φxPyPy=y
32 27 30 31 s3eqd φxPyP⟨“x⟨“DEF”⟩1y”⟩=⟨“xEy”⟩
33 32 breq2d φxPyP⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩⟨“ABC”⟩𝒢G⟨“xEy”⟩
34 30 fveq2d φxPyPK⟨“DEF”⟩1=KE
35 s3fv0 DP⟨“DEF”⟩0=D
36 8 35 syl φ⟨“DEF”⟩0=D
37 36 adantr φxPyP⟨“DEF”⟩0=D
38 27 34 37 breq123d φxPyPxK⟨“DEF”⟩1⟨“DEF”⟩0xKED
39 s3fv2 FP⟨“DEF”⟩2=F
40 10 39 syl φ⟨“DEF”⟩2=F
41 40 adantr φxPyP⟨“DEF”⟩2=F
42 31 34 41 breq123d φxPyPyK⟨“DEF”⟩1⟨“DEF”⟩2yKEF
43 33 38 42 3anbi123d φxPyP⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩xK⟨“DEF”⟩1⟨“DEF”⟩0yK⟨“DEF”⟩1⟨“DEF”⟩2⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF
44 43 2rexbidva φxPyP⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩xK⟨“DEF”⟩1⟨“DEF”⟩0yK⟨“DEF”⟩1⟨“DEF”⟩2xPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF
45 44 anbi2d φ⟨“ABC”⟩P0..^3⟨“DEF”⟩P0..^3xPyP⟨“ABC”⟩𝒢G⟨“x⟨“DEF”⟩1y”⟩xK⟨“DEF”⟩1⟨“DEF”⟩0yK⟨“DEF”⟩1⟨“DEF”⟩2⟨“ABC”⟩P0..^3⟨“DEF”⟩P0..^3xPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF
46 26 45 syl5bb φ⟨“ABC”⟩ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2⟨“DEF”⟩⟨“ABC”⟩P0..^3⟨“DEF”⟩P0..^3xPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF
47 elex G𝒢TarskiGV
48 simpl p=Pk=Kp=P
49 48 eqcomd p=Pk=KP=p
50 49 oveq1d p=Pk=KP0..^3=p0..^3
51 50 eleq2d p=Pk=KaP0..^3ap0..^3
52 50 eleq2d p=Pk=KbP0..^3bp0..^3
53 51 52 anbi12d p=Pk=KaP0..^3bP0..^3ap0..^3bp0..^3
54 simpr p=Pk=Kk=K
55 54 fveq1d p=Pk=Kkb1=Kb1
56 55 breqd p=Pk=Kxkb1b0xKb1b0
57 55 breqd p=Pk=Kykb1b2yKb1b2
58 56 57 3anbi23d p=Pk=Ka𝒢g⟨“xb1y”⟩xkb1b0ykb1b2a𝒢g⟨“xb1y”⟩xKb1b0yKb1b2
59 58 bicomd p=Pk=Ka𝒢g⟨“xb1y”⟩xKb1b0yKb1b2a𝒢g⟨“xb1y”⟩xkb1b0ykb1b2
60 49 59 rexeqbidv p=Pk=KyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2ypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2
61 49 60 rexeqbidv p=Pk=KxPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2xpypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2
62 53 61 anbi12d p=Pk=KaP0..^3bP0..^3xPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2ap0..^3bp0..^3xpypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2
63 1 3 62 sbcie2s g=G[˙Baseg/p]˙[˙hl𝒢g/k]˙ap0..^3bp0..^3xpypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2aP0..^3bP0..^3xPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2
64 63 opabbidv g=Gab|[˙Baseg/p]˙[˙hl𝒢g/k]˙ap0..^3bp0..^3xpypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2=ab|aP0..^3bP0..^3xPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2
65 fveq2 g=G𝒢g=𝒢G
66 65 breqd g=Ga𝒢g⟨“xb1y”⟩a𝒢G⟨“xb1y”⟩
67 66 3anbi1d g=Ga𝒢g⟨“xb1y”⟩xKb1b0yKb1b2a𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
68 67 2rexbidv g=GxPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
69 68 anbi2d g=GaP0..^3bP0..^3xPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
70 69 opabbidv g=Gab|aP0..^3bP0..^3xPyPa𝒢g⟨“xb1y”⟩xKb1b0yKb1b2=ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
71 64 70 eqtrd g=Gab|[˙Baseg/p]˙[˙hl𝒢g/k]˙ap0..^3bp0..^3xpypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2=ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
72 df-cgra 𝒢=gVab|[˙Baseg/p]˙[˙hl𝒢g/k]˙ap0..^3bp0..^3xpypa𝒢g⟨“xb1y”⟩xkb1b0ykb1b2
73 ovex P0..^3V
74 73 73 xpex P0..^3×P0..^3V
75 opabssxp ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2P0..^3×P0..^3
76 74 75 ssexi ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2V
77 71 72 76 fvmpt GV𝒢G=ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
78 4 47 77 3syl φ𝒢G=ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2
79 78 breqd φ⟨“ABC”⟩𝒢G⟨“DEF”⟩⟨“ABC”⟩ab|aP0..^3bP0..^3xPyPa𝒢G⟨“xb1y”⟩xKb1b0yKb1b2⟨“DEF”⟩
80 5 6 7 s3cld φ⟨“ABC”⟩WordP
81 s3len ⟨“ABC”⟩=3
82 1 fvexi PV
83 3nn0 30
84 wrdmap PV30⟨“ABC”⟩WordP⟨“ABC”⟩=3⟨“ABC”⟩P0..^3
85 82 83 84 mp2an ⟨“ABC”⟩WordP⟨“ABC”⟩=3⟨“ABC”⟩P0..^3
86 80 81 85 sylanblc φ⟨“ABC”⟩P0..^3
87 8 9 10 s3cld φ⟨“DEF”⟩WordP
88 s3len ⟨“DEF”⟩=3
89 wrdmap PV30⟨“DEF”⟩WordP⟨“DEF”⟩=3⟨“DEF”⟩P0..^3
90 82 83 89 mp2an ⟨“DEF”⟩WordP⟨“DEF”⟩=3⟨“DEF”⟩P0..^3
91 87 88 90 sylanblc φ⟨“DEF”⟩P0..^3
92 86 91 jca φ⟨“ABC”⟩P0..^3⟨“DEF”⟩P0..^3
93 92 biantrurd φxPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF⟨“ABC”⟩P0..^3⟨“DEF”⟩P0..^3xPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF
94 46 79 93 3bitr4d φ⟨“ABC”⟩𝒢G⟨“DEF”⟩xPyP⟨“ABC”⟩𝒢G⟨“xEy”⟩xKEDyKEF