Metamath Proof Explorer


Theorem heron

Description: Heron's formula gives the area of a triangle given only the side lengths. If points A, B, C form a triangle, then the area of the triangle, represented here as ( 1 / 2 ) x. X x. Y x. abs ( sin O ) , is equal to the square root of S x. ( S - X ) x. ( S - Y ) x. ( S - Z ) , where S = ( X + Y + Z ) / 2 is half the perimeter of the triangle. Based on work by Jon Pennant. This is Metamath 100 proof #57. (Contributed by Mario Carneiro, 10-Mar-2019)

Ref Expression
Hypotheses heron.f F=x0,y0logyx
heron.x X=BC
heron.y Y=AC
heron.z Z=AB
heron.o O=BCFAC
heron.s S=X+Y+Z2
heron.a φA
heron.b φB
heron.c φC
heron.ac φAC
heron.bc φBC
Assertion heron φ12XYsinO=SSXSYSZ

Proof

Step Hyp Ref Expression
1 heron.f F=x0,y0logyx
2 heron.x X=BC
3 heron.y Y=AC
4 heron.z Z=AB
5 heron.o O=BCFAC
6 heron.s S=X+Y+Z2
7 heron.a φA
8 heron.b φB
9 heron.c φC
10 heron.ac φAC
11 heron.bc φBC
12 1red φ1
13 12 rehalfcld φ12
14 8 9 subcld φBC
15 14 abscld φBC
16 2 15 eqeltrid φX
17 7 9 subcld φAC
18 17 abscld φAC
19 3 18 eqeltrid φY
20 16 19 remulcld φXY
21 13 20 remulcld φ12XY
22 negpitopissre ππ
23 8 9 11 subne0d φBC0
24 7 9 10 subne0d φAC0
25 1 14 23 17 24 angcld φBCFACππ
26 22 25 sselid φBCFAC
27 26 recnd φBCFAC
28 5 27 eqeltrid φO
29 28 sincld φsinO
30 29 abscld φsinO
31 21 30 remulcld φ12XYsinO
32 halfge0 012
33 32 a1i φ012
34 14 absge0d φ0BC
35 34 2 breqtrrdi φ0X
36 17 absge0d φ0AC
37 36 3 breqtrrdi φ0Y
38 16 19 35 37 mulge0d φ0XY
39 13 20 33 38 mulge0d φ012XY
40 29 absge0d φ0sinO
41 21 30 39 40 mulge0d φ012XYsinO
42 31 41 sqrtsqd φ12XYsinO2=12XYsinO
43 halfcn 12
44 43 a1i φ12
45 16 recnd φX
46 19 recnd φY
47 45 46 mulcld φXY
48 44 47 mulcld φ12XY
49 30 recnd φsinO
50 48 49 sqmuld φ12XYsinO2=12XY2sinO2
51 2cnd φ2
52 2ne0 20
53 52 a1i φ20
54 47 51 53 sqdivd φXY22=XY222
55 47 51 53 divrec2d φXY2=12XY
56 55 oveq1d φXY22=12XY2
57 sq2 22=4
58 57 a1i φ22=4
59 58 oveq2d φXY222=XY24
60 54 56 59 3eqtr3d φ12XY2=XY24
61 5 26 eqeltrid φO
62 61 resincld φsinO
63 absresq sinOsinO2=sinO2
64 62 63 syl φsinO2=sinO2
65 60 64 oveq12d φ12XY2sinO2=XY24sinO2
66 47 sqcld φXY2
67 29 sqcld φsinO2
68 66 67 mulcld φXY2sinO2
69 4cn 4
70 69 a1i φ4
71 16 19 readdcld φX+Y
72 7 8 subcld φAB
73 72 abscld φAB
74 4 73 eqeltrid φZ
75 71 74 readdcld φX+Y+Z
76 75 rehalfcld φX+Y+Z2
77 6 76 eqeltrid φS
78 77 recnd φS
79 78 45 subcld φSX
80 78 79 mulcld φSSX
81 78 46 subcld φSY
82 74 recnd φZ
83 78 82 subcld φSZ
84 81 83 mulcld φSYSZ
85 80 84 mulcld φSSXSYSZ
86 70 85 mulcld φ4SSXSYSZ
87 4ne0 40
88 87 a1i φ40
89 51 47 sqmuld φ2XY2=22XY2
90 58 oveq1d φ22XY2=4XY2
91 89 90 eqtr2d φ4XY2=2XY2
92 91 oveq1d φ4XY2sinO2=2XY2sinO2
93 70 66 67 mulassd φ4XY2sinO2=4XY2sinO2
94 51 47 mulcld φ2XY
95 94 sqcld φ2XY2
96 95 67 mulcld φ2XY2sinO2
97 46 82 mulcld φYZ
98 51 97 mulcld φ2YZ
99 98 sqcld φ2YZ2
100 46 sqcld φY2
101 82 sqcld φZ2
102 45 sqcld φX2
103 101 102 subcld φZ2X2
104 100 103 addcld φY2+Z2-X2
105 104 sqcld φY2+Z2-X22
106 99 105 subcld φ2YZ2Y2+Z2-X22
107 28 coscld φcosO
108 107 sqcld φcosO2
109 95 108 mulcld φ2XY2cosO2
110 sincossq OsinO2+cosO2=1
111 28 110 syl φsinO2+cosO2=1
112 111 oveq2d φ2XY2sinO2+cosO2=2XY21
113 95 67 108 adddid φ2XY2sinO2+cosO2=2XY2sinO2+2XY2cosO2
114 100 2timesd φ2Y2=Y2+Y2
115 100 103 100 ppncand φY2+Z2X2+Y2Z2X2=Y2+Y2
116 114 115 eqtr4d φ2Y2=Y2+Z2X2+Y2Z2X2
117 103 2timesd φ2Z2X2=Z2X2+Z2-X2
118 100 103 103 pnncand φY2+Z2X2-Y2Z2X2=Z2X2+Z2-X2
119 117 118 eqtr4d φ2Z2X2=Y2+Z2X2-Y2Z2X2
120 116 119 oveq12d φ2Y22Z2X2=Y2+Z2X2+Y2Z2X2Y2+Z2X2-Y2Z2X2
121 2t2e4 22=4
122 121 70 eqeltrid φ22
123 122 100 103 mulassd φ22Y2Z2X2=22Y2Z2X2
124 122 100 mulcld φ22Y2
125 124 101 102 subdid φ22Y2Z2X2=22Y2Z222Y2X2
126 51 sqvald φ22=22
127 46 82 sqmuld φYZ2=Y2Z2
128 126 127 oveq12d φ22YZ2=22Y2Z2
129 51 97 sqmuld φ2YZ2=22YZ2
130 122 100 101 mulassd φ22Y2Z2=22Y2Z2
131 128 129 130 3eqtr4d φ2YZ2=22Y2Z2
132 45 46 sqmuld φXY2=X2Y2
133 102 100 mulcomd φX2Y2=Y2X2
134 132 133 eqtrd φXY2=Y2X2
135 126 134 oveq12d φ22XY2=22Y2X2
136 122 100 102 mulassd φ22Y2X2=22Y2X2
137 135 89 136 3eqtr4d φ2XY2=22Y2X2
138 131 137 oveq12d φ2YZ22XY2=22Y2Z222Y2X2
139 125 138 eqtr4d φ22Y2Z2X2=2YZ22XY2
140 51 51 100 103 mul4d φ22Y2Z2X2=2Y22Z2X2
141 123 139 140 3eqtr3d φ2YZ22XY2=2Y22Z2X2
142 100 103 subcld φY2Z2X2
143 subsq Y2+Z2-X2Y2Z2X2Y2+Z2-X22Y2Z2X22=Y2+Z2X2+Y2Z2X2Y2+Z2X2-Y2Z2X2
144 104 142 143 syl2anc φY2+Z2-X22Y2Z2X22=Y2+Z2X2+Y2Z2X2Y2+Z2X2-Y2Z2X2
145 120 141 144 3eqtr4d φ2YZ22XY2=Y2+Z2-X22Y2Z2X22
146 145 oveq2d φ2YZ22YZ22XY2=2YZ2Y2+Z2-X22Y2Z2X22
147 99 95 nncand φ2YZ22YZ22XY2=2XY2
148 142 sqcld φY2Z2X22
149 99 105 148 subsubd φ2YZ2Y2+Z2-X22Y2Z2X22=2YZ2-Y2+Z2-X22+Y2Z2X22
150 146 147 149 3eqtr3d φ2XY2=2YZ2-Y2+Z2-X22+Y2Z2X22
151 95 mulridd φ2XY21=2XY2
152 102 100 addcld φX2+Y2
153 47 107 mulcld φXYcosO
154 51 153 mulcld φ2XYcosO
155 152 154 nncand φX2+Y2-X2+Y2-2XYcosO=2XYcosO
156 100 101 subcld φY2Z2
157 156 102 addcomd φY2-Z2+X2=X2+Y2-Z2
158 100 101 102 subsubd φY2Z2X2=Y2-Z2+X2
159 102 100 101 addsubassd φX2+Y2-Z2=X2+Y2-Z2
160 157 158 159 3eqtr4d φY2Z2X2=X2+Y2-Z2
161 1 2 3 4 5 lawcos ABCACBCZ2=X2+Y2-2XYcosO
162 7 8 9 10 11 161 syl32anc φZ2=X2+Y2-2XYcosO
163 162 oveq2d φX2+Y2-Z2=X2+Y2-X2+Y2-2XYcosO
164 160 163 eqtrd φY2Z2X2=X2+Y2-X2+Y2-2XYcosO
165 51 47 107 mulassd φ2XYcosO=2XYcosO
166 155 164 165 3eqtr4d φY2Z2X2=2XYcosO
167 166 oveq1d φY2Z2X22=2XYcosO2
168 94 107 sqmuld φ2XYcosO2=2XY2cosO2
169 167 168 eqtr2d φ2XY2cosO2=Y2Z2X22
170 169 oveq2d φ2YZ2-Y2+Z2-X22+2XY2cosO2=2YZ2-Y2+Z2-X22+Y2Z2X22
171 150 151 170 3eqtr4d φ2XY21=2YZ2-Y2+Z2-X22+2XY2cosO2
172 112 113 171 3eqtr3d φ2XY2sinO2+2XY2cosO2=2YZ2-Y2+Z2-X22+2XY2cosO2
173 96 106 109 172 addcan2ad φ2XY2sinO2=2YZ2Y2+Z2-X22
174 subsq 2YZY2+Z2-X22YZ2Y2+Z2-X22=2YZ+Y2+Z2X22YZY2+Z2-X2
175 98 104 174 syl2anc φ2YZ2Y2+Z2-X22=2YZ+Y2+Z2X22YZY2+Z2-X2
176 100 101 addcld φY2+Z2
177 98 176 102 addsubassd φ2YZ+Y2+Z2-X2=2YZ+Y2+Z2-X2
178 100 101 102 addsubassd φY2+Z2-X2=Y2+Z2-X2
179 178 oveq2d φ2YZ+Y2+Z2-X2=2YZ+Y2+Z2X2
180 177 179 eqtr2d φ2YZ+Y2+Z2X2=2YZ+Y2+Z2-X2
181 binom2 YZY+Z2=Y2+2YZ+Z2
182 46 82 181 syl2anc φY+Z2=Y2+2YZ+Z2
183 100 98 101 add32d φY2+2YZ+Z2=Y2+Z2+2YZ
184 176 98 addcomd φY2+Z2+2YZ=2YZ+Y2+Z2
185 182 183 184 3eqtrd φY+Z2=2YZ+Y2+Z2
186 185 oveq1d φY+Z2X2=2YZ+Y2+Z2-X2
187 46 82 addcld φY+Z
188 subsq Y+ZXY+Z2X2=Y+Z+XY+Z-X
189 187 45 188 syl2anc φY+Z2X2=Y+Z+XY+Z-X
190 6 oveq2i 2S=2X+Y+Z2
191 75 recnd φX+Y+Z
192 191 51 53 divcan2d φ2X+Y+Z2=X+Y+Z
193 190 192 eqtrid φ2S=X+Y+Z
194 45 46 82 addassd φX+Y+Z=X+Y+Z
195 45 187 addcomd φX+Y+Z=Y+Z+X
196 193 194 195 3eqtrd φ2S=Y+Z+X
197 51 78 45 subdid φ2SX=2S2X
198 193 194 eqtrd φ2S=X+Y+Z
199 45 2timesd φ2X=X+X
200 198 199 oveq12d φ2S2X=X+Y+Z-X+X
201 45 187 45 pnpcand φX+Y+Z-X+X=Y+Z-X
202 197 200 201 3eqtrd φ2SX=Y+Z-X
203 196 202 oveq12d φ2S2SX=Y+Z+XY+Z-X
204 189 203 eqtr4d φY+Z2X2=2S2SX
205 51 78 51 79 mul4d φ2S2SX=22SSX
206 121 a1i φ22=4
207 206 oveq1d φ22SSX=4SSX
208 204 205 207 3eqtrd φY+Z2X2=4SSX
209 180 186 208 3eqtr2d φ2YZ+Y2+Z2X2=4SSX
210 98 176 subcld φ2YZY2+Z2
211 210 102 addcomd φ2YZ-Y2+Z2+X2=X2+2YZ-Y2+Z2
212 178 oveq2d φ2YZY2+Z2-X2=2YZY2+Z2-X2
213 98 176 102 subsubd φ2YZY2+Z2-X2=2YZ-Y2+Z2+X2
214 212 213 eqtr3d φ2YZY2+Z2-X2=2YZ-Y2+Z2+X2
215 102 176 98 subsub2d φX2Y2+Z2-2YZ=X2+2YZ-Y2+Z2
216 211 214 215 3eqtr4d φ2YZY2+Z2-X2=X2Y2+Z2-2YZ
217 100 101 98 addsubassd φY2+Z2-2YZ=Y2+Z2-2YZ
218 101 98 subcld φZ22YZ
219 100 218 addcomd φY2+Z2-2YZ=Z2-2YZ+Y2
220 46 82 mulcomd φYZ=ZY
221 220 oveq2d φ2YZ=2ZY
222 221 oveq2d φZ22YZ=Z22ZY
223 222 oveq1d φZ2-2YZ+Y2=Z2-2ZY+Y2
224 217 219 223 3eqtrd φY2+Z2-2YZ=Z2-2ZY+Y2
225 binom2sub ZYZY2=Z2-2ZY+Y2
226 82 46 225 syl2anc φZY2=Z2-2ZY+Y2
227 224 226 eqtr4d φY2+Z2-2YZ=ZY2
228 227 oveq2d φX2Y2+Z2-2YZ=X2ZY2
229 82 46 subcld φZY
230 subsq XZYX2ZY2=X+Z-YXZY
231 45 229 230 syl2anc φX2ZY2=X+Z-YXZY
232 51 78 46 subdid φ2SY=2S2Y
233 45 46 82 add32d φX+Y+Z=X+Z+Y
234 193 233 eqtrd φ2S=X+Z+Y
235 46 2timesd φ2Y=Y+Y
236 234 235 oveq12d φ2S2Y=X+Z+Y-Y+Y
237 45 82 addcld φX+Z
238 237 46 46 pnpcan2d φX+Z+Y-Y+Y=X+Z-Y
239 45 82 46 238 assraddsubd φX+Z+Y-Y+Y=X+Z-Y
240 232 236 239 3eqtrd φ2SY=X+Z-Y
241 51 78 82 subdid φ2SZ=2S2Z
242 82 2timesd φ2Z=Z+Z
243 193 242 oveq12d φ2S2Z=X+Y+Z-Z+Z
244 45 46 addcld φX+Y
245 244 82 82 pnpcan2d φX+Y+Z-Z+Z=X+Y-Z
246 45 82 46 subsub3d φXZY=X+Y-Z
247 245 246 eqtr4d φX+Y+Z-Z+Z=XZY
248 241 243 247 3eqtrd φ2SZ=XZY
249 240 248 oveq12d φ2SY2SZ=X+Z-YXZY
250 231 249 eqtr4d φX2ZY2=2SY2SZ
251 51 81 51 83 mul4d φ2SY2SZ=22SYSZ
252 206 oveq1d φ22SYSZ=4SYSZ
253 250 251 252 3eqtrd φX2ZY2=4SYSZ
254 216 228 253 3eqtrd φ2YZY2+Z2-X2=4SYSZ
255 209 254 oveq12d φ2YZ+Y2+Z2X22YZY2+Z2-X2=4SSX4SYSZ
256 173 175 255 3eqtrd φ2XY2sinO2=4SSX4SYSZ
257 70 84 mulcld φ4SYSZ
258 70 80 257 mulassd φ4SSX4SYSZ=4SSX4SYSZ
259 80 70 84 mul12d φSSX4SYSZ=4SSXSYSZ
260 259 oveq2d φ4SSX4SYSZ=44SSXSYSZ
261 256 258 260 3eqtrd φ2XY2sinO2=44SSXSYSZ
262 92 93 261 3eqtr3d φ4XY2sinO2=44SSXSYSZ
263 68 86 70 88 262 mulcanad φXY2sinO2=4SSXSYSZ
264 263 oveq1d φXY2sinO24=4SSXSYSZ4
265 66 67 70 88 div23d φXY2sinO24=XY24sinO2
266 77 16 resubcld φSX
267 77 266 remulcld φSSX
268 77 19 resubcld φSY
269 77 74 resubcld φSZ
270 268 269 remulcld φSYSZ
271 267 270 remulcld φSSXSYSZ
272 271 recnd φSSXSYSZ
273 272 70 88 divcan3d φ4SSXSYSZ4=SSXSYSZ
274 264 265 273 3eqtr3d φXY24sinO2=SSXSYSZ
275 50 65 274 3eqtrd φ12XYsinO2=SSXSYSZ
276 275 fveq2d φ12XYsinO2=SSXSYSZ
277 42 276 eqtr3d φ12XYsinO=SSXSYSZ