1 (* ************************************************************************** *)
4 Notes on breaking up the quadrilateral inequalities in ineq.hl into pieces of at most
7 (* ************************************************************************** *)
10 (* ************************************************************************** *)
11 (* INEQ "3862621143 revised" *)
12 (* ************************************************************************** *)
15 This inequality is not quite in final form. The inequalities are still too slow.
18 (* If dih < 2.15 then Main-inequality d(4) implies the result. WLOG dih > 2.15. *)
21 One way to break up quad 386..revised appears in the following inequalities.
23 Change num1 lower bound from 2.38 to 2.9/h0. Then both back edges can
24 be deformed to 2. Even the front edges can be deformed to 2, by obtuseness of front angle
25 and the sign of dih in the inequality. So all top edges=2.
26 This is contrary to the diagonal constraints in 386...revised.
32 doc = "The denominator should be cleared, upper bound increased to &4*h0, delta_y bound made 0";
34 ineq = Sphere.all_forall `ineq
43 dih_y y1 y2 y3 y4 y5 y6 < #2.15 / &2 \/
44 delta_y y1 y2 y3 y4 y5 y6 < #0.1)`;
51 (EAR) A bound on the dih of an ear in a quad,
52 The disjunct (dih_y y1 y2 y3 y4 y5 y6 < #2.15 / &2 has been 'linearized'.
53 Tan[2.15 / 2]^2 = (>=) 3.418
54 In more detail, this calc shows that delta > 0 or dih < 2.15 / 2
57 ineq = Sphere.all_forall `ineq [
64 (let tan2lower = #3.418 in
65 ((&4 * x1_delta_y y1 y2 y3 y4 y5 y6 < tan2lower * delta4_squared_y y1 y2 y3 y4 y5 y6) \/
66 delta_y y1 y2 y3 y4 y5 y6 < &0))`;
70 (* an ineq in main_estimate_ineq.hl, gives that both sides are acute. when cross_diag > 3.01 *)
74 idv="test side azim 3862621143";
75 doc = "This allows us to restrict the domain on both sides to delta > 16.
76 Tan[2.15 - Pi/2]^2 >= 0.4277.
77 Too slow!! (992 secs).
80 ineq = Sphere.all_forall `ineq
88 (let tan2lower = #0.4277 in
90 &4 * x1_delta_y y1 y2 y3 y4 y5 y6 < tan2lower * delta4_squared_y y1 y2 y3 y4 y5 y6) \/
91 // dih_y y1 y2 y3 y4 y5 y6 < #2.15 - pi / &2 \/
92 delta_y y1 y2 y3 y4 y5 y6 < &0 \/
93 delta_y y1 y2 y3 y4 y5 y6 > &16)`;
98 idv="test side' 3862621143";
101 ineq = Sphere.all_forall `ineq
109 (taum y1 y2 y3 y4 y5 y6 > #0.453 * dih_y y1 y2 y3 y4 y5 y6 - #0.77 / &2 \/
110 delta_y y1 y2 y3 y4 y5 y6 < &16 \/ dih_y y1 y2 y3 y4 y5 y6 < #2.15 - pi / &2
115 (* ************************************************************************** *)
116 (* INEQ "4240815464 a" *)
117 (* ************************************************************************** *)
122 idv="5365514595"; (* test full 4240815464 *)
124 The following inequalities make 4240815464 into a derived inequality.
125 If dih > 1.621, then the main_estimate d(4) inequality implies this, so wlog dih < 1.621.
126 We may take y4 <= 3.36, for otherwise dih > 1.621.
127 When 3.01 <= y4 <= 3.36, dih < 1.621 ==> Delta(back) > 98 ==> taum(back) > 0.
128 We replace the back taum with 0, and run the 6D ineq on the front simplex.
130 When 2.62 <= y4 <= 3.01, use taum(back) >= 1.03. to remove the back simplex. Run on the front.
132 When 2.52 <= y4 <= 3.01, use a custom linear lower bound on tam(back) to remove the back simplex.
134 passes when we zero out back term. ";
136 ineq = Sphere.all_forall `ineq
149 taum y1 y2 y3 y4 y5 y6 + taum y7 y2 y3 y4 y8 y9 +
150 #0.7573 * dih_y y1 y2 y3 y4 y5 y6 - #1.433 > &0 \/
151 dih_y y1 y2 y3 y4 y5 y6 > #1.621)`;
156 idv="3397113841"; (* test dih (delta4) 4240815464 *)
157 doc = "Justifies linearized dih when y4 >= 3.36";
159 ineq = Sphere.all_forall `ineq
168 delta4_y y1 y2 y3 y4 y5 y6 < &0)`;
173 idv="6078657299"; (* test dih 4240815464 *)
174 doc = "Monotonic in y4.
175 y4 > 3.36 ==> dih > 1.621.
176 Tan[Pi - 1.621]^2 >= 396.1.
179 ineq = Sphere.all_forall `ineq
187 (let tan2lower = #396.1 in
188 ((&4 * x1_delta_y y1 y2 y3 y4 y5 y6 < tan2lower * delta4_squared_y y1 y2 y3 y4 y5 y6) \/
189 // dih_y y1 y2 y3 y4 y5 y6 > #1.621 \/
190 delta_y y1 y2 y3 y4 y5 y6 < &0))`;
195 idv="8384429938"; (* test delta98 lindih 4240815464 *)
196 doc = "Justifies linearlized dih on [3.01,3.36] s.t. delta<98.";
198 ineq = Sphere.all_forall `ineq
209 // delta_y (&2 * h0) y2 y3 y4 (&2) (&2) > &98 \/
210 y_of_x (delta_234_x ((&2 * h0) pow 2) (&4) (&4)) y1 y2 y3 y4 y5 y6 > &98 \/
211 delta4_y y1 y2 y3 y4 y5 y6 < &0
217 idv="9893763499"; (* test delta98 4240815464 *)
218 doc = "Use monotonicity of Delta to reduce to y7=2.52, y8=2, y9=2. Shows dih>1.621 ==> delta>98";
220 ineq = Sphere.all_forall `ineq
230 (let tan2lower = #396.1 in
231 ((&4 * x1_delta_y y1 y2 y3 y4 y5 y6 < tan2lower * delta4_squared_y y1 y2 y3 y4 y5 y6) \/
232 // dih_y y1 y2 y3 y4 y5 y6 > #1.621 \/
233 // delta_y (&2 * h0) y2 y3 y4 (&2) (&2) > &98 \/
234 y_of_x (delta_234_x ((&2 * h0) pow 2) (&4) (&4)) y1 y2 y3 y4 y5 y6 > &98
240 idv="5429228381"; (* test back98 4240815464 *)
241 doc = "taum lower bound on back simplex when y4 in [3.01,3.36]";
243 ineq = Sphere.all_forall `ineq
253 taum y1 y2 y3 y4 y5 y6 > -- #0.07 \/
254 delta_y y1 y2 y3 y4 y5 y6 < &98)`;
259 idv="3508342905"; (* test front98 4240815464 *)
260 doc = "lower bound on front simplex when y4 in [3.01,3.36]";
262 ineq = Sphere.all_forall `ineq
272 taum y1 y2 y3 y4 y5 y6 - #0.07 +
273 #0.7573 * dih_y y1 y2 y3 y4 y5 y6 - #1.433 > &0 \/
274 dih_y y1 y2 y3 y4 y5 y6 > #1.621 \/
275 delta_y y1 y2 y3 y4 y5 y6 < &98)`;
280 idv="2862885615"; (* test front103 4240815464 *)
281 doc = "lower bound on front simplex when y4 [2.62,3.01]";
283 ineq = Sphere.all_forall `ineq
293 taum y1 y2 y3 y4 y5 y6 + #0.103 +
294 #0.7573 * dih_y y1 y2 y3 y4 y5 y6 - #1.433 > &0 \/
295 dih_y y1 y2 y3 y4 y5 y6 > #1.621)`;
300 idv="1611600345"; (* test back 4240815464 *)
301 doc = "lower bound on back simplex when y4 in [2.52,2.62]";
303 ineq = Sphere.all_forall `ineq
313 taum y1 y2 y3 y4 y5 y6 > #0.095 + #0.14 * (y2 + y3 - &4) )`;
318 idv="2608321088"; (* test front 4240815464 *)
321 ineq = Sphere.all_forall `ineq
331 taum y1 y2 y3 y4 y5 y6 + #0.095 + #0.14 * (y2 + y3 - y4) +
332 #0.7573 * dih_y y1 y2 y3 y4 y5 y6 - #1.433 > &0 \/
333 dih_y y1 y2 y3 y4 y5 y6 > #1.621)`;
337 (* ************************************************************************** *)
338 (* DEPRECATED INEQ 704377224150 *)
339 (* ************************************************************************** *)
343 idv="test azim 70437224150";
346 ineq = Sphere.all_forall `ineq
354 (dih_y y1 y2 y3 y4 y5 y6 > #1.215)`;
359 idv="old test front 70437224150";
362 ineq = Sphere.all_forall `ineq
370 (taum y1 y2 y3 y4 y5 y6 + #0.0842 + #0.16 * (y2 + y3 - &4) + -- #0.018 * (y4 - &2 * h0) + #4.72 * dih_y y1 y2 y3 y4 y5 y6 > #6.235)`;
375 idv="old test back 70437224150";
378 ineq = Sphere.all_forall `ineq
386 (taum y1 y2 y3 y4 y5 y6 > #0.0842 + #0.16 * (y2 + y3 - &4) - #0.018 * (y4 - &2 * h0))`;
391 idv="test front 70437224150";
394 ineq = Sphere.all_forall `ineq
402 (taum y1 y2 y3 y4 y5 y6 + #0.0842 + #0.17 * (y2 + y3 - &4) + -- #0.01 * (y4 - &2 * h0) + #4.72 * dih_y y1 y2 y3 y4 y5 y6 > #6.248)`;
407 idv="test back 70437224150";
410 ineq = Sphere.all_forall `ineq
418 (taum y1 y2 y3 y4 y5 y6 > #0.0842 + #0.17 * (y2 + y3 - &4) - #0.01 * (y4 - &2 * h0))`;
426 ineq = Sphere.all_forall `ineq
434 (dih_y y1 y2 y3 y4 y5 y6 > #1.544)`;
442 ineq = Sphere.all_forall `ineq
450 (taum y1 y2 y3 y4 y5 y6 + #0.0842 + #0.16 * (y2 + y3 - &4) + -- #0.018 * (y4 - &2 * h0) + #0.972 * dih_y y1 y2 y3 y4 y5 y6 > #1.707)`;
456 doc = "If minor diag >= 3, then 3/1.26 > 2.38 and we can contract.
457 15.53: arc[2,2,2.52]2 < arc[2,2,Sqrt[15.53]].
459 c2 upper bound changed from 15.53 to 16.0 on May 23.";
461 ineq = Sphere.all_forall `ineq
463 (&1 , e1, &1 + sol0/ pi);
464 (&1 , e2, &1 + sol0/ pi);
465 (&1 , e3, &1 + sol0/ pi);
466 ((&2 / h0) pow 2, a2, (&2 * h0) pow 2);
467 ((&2/ h0) pow 2, b2, #3.01 pow 2);
468 ((#2.9 / h0) pow 2, c2,#16.0)
470 ((num1 e1 e2 e3 a2 b2 c2 ) > &0) `;