(* {{{ proof *)
[
REWRITE_TAC[Local_lemmas.collinear_fan22;aff;
AFFINE_HULL_2;
IN_ELIM_THM;VECTOR_ARITH`A %
vec 0+B=B`]
THEN STRIP_TAC
THEN MP_TAC
IS_SCS_POINT_IN_BBS_IS_NOT_0_3
THEN RESA_TAC
THEN ASM_TAC
THEN REWRITE_TAC[
IN]
THEN STRIP_TAC
THEN ASM_REWRITE_TAC[
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
is_scs_v39]
THEN POP_ASSUM(fun th->
STRIP_TAC
THEN ASSUME_TAC
th)
THEN REPEAT STRIP_TAC;
REPLICATE_TAC 14 (POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MRESAL_TAC
th[`1`;`2`][
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
ARITH_RULE`1 MOD 3 =1 /\ 2 MOD 3=2/\ ~(1=2) /\ SUC 1=2 /\ SUC 2=3/\ 3 MOD 3=0/\ 1<3/\ 2<3`;
dist;VECTOR_ARITH`A- B%A=(&1-B)%A`;
NORM_MUL])
THEN REPLICATE_TAC 6 (POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MRESAL_TAC
th[`1`;`2`][
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
ARITH_RULE`1 MOD 3 =1 /\ 2 MOD 3=2/\ ~(1=2) /\ SUC 1=2 /\ SUC 2=3/\ 3 MOD 3=0`;
dist;VECTOR_ARITH`A- B%A=(&1-B)%A`;
NORM_MUL])
THEN REPLICATE_TAC 9(POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN SUBGOAL_THEN`(?x. x
IN (:num) /\ vv 1 = (vv:num->real^3) x)`ASSUME_TAC;
EXISTS_TAC`1`
THEN ASM_REWRITE_TAC[SET_RULE`(a:num)
IN (:num)`];
SUBGOAL_THEN`(?x. x
IN (:num) /\ vv 2 = (vv:num->real^3) x)`ASSUME_TAC;
EXISTS_TAC`2`
THEN ASM_REWRITE_TAC[SET_RULE`(a:num)
IN (:num)`];
REWRITE_TAC[
IMAGE;
SUBSET;
IN_ELIM_THM]
THEN STRIP_TAC
THEN POP_ASSUM(fun th-> MRESAL1_TAC
th`(vv:num->real^3) 2`[
ball_annulus;
IN_ELIM_THM;
DIFF;
cball;
ball;
dist;VECTOR_ARITH`
vec 0- B= --B`;
NORM_NEG;
NORM_MUL;REAL_ARITH`~(a<b) <=> b<=a`]
THEN MRESAL1_TAC
th`(vv:num->real^3) 1`[
ball_annulus;
IN_ELIM_THM;
DIFF;
cball;
ball;
dist;VECTOR_ARITH`
vec 0- B= --B`;
NORM_NEG;
NORM_MUL;REAL_ARITH`~(a<b) <=> b<=a`])
THEN MP_TAC(REAL_ARITH`&0<= &1-v\/ &0<= --( &1-v)`)
THEN STRIP_TAC
;
MP_TAC(REAL_ARITH`&0<= v\/ &0<= --( v)`)
THEN STRIP_TAC
;
MRESA1_TAC Trigonometry2.ABS_REFL `v:real`
THEN MRESA1_TAC Trigonometry2.ABS_REFL `&1- v:real`
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
scs_a_v39 s 2 1/\
scs_a_v39 s 2 1<= (&1 - v) *
norm (vv 1)
/\ &2 <= v *
norm (vv 1) ==> &4<=
norm ((vv:num->real^3) 1)`)
THEN REPLICATE_TAC 4(POP_ASSUM MP_TAC)
THEN ASM_REWRITE_TAC[h0]
THEN REAL_ARITH_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL `-- v:real`[
REAL_ABS_NEG]
THEN MRESA1_TAC Trigonometry2.ABS_REFL `&1- v:real`
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <= --v *
norm (vv 1)
/\ &2 <=
norm (vv 1) ==> &4<=(&1- v) *norm ((vv:num->real^3) 1)`)
THEN ASM_REWRITE_TAC[]
THEN REPLICATE_TAC 8(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN POP_ASSUM MP_TAC
THEN REWRITE_TAC[SYM
th])
THEN REPLICATE_TAC 23(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MRESAL1_TAC
th`1`[ARITH_RULE`SUC 1=2`])
THEN POP_ASSUM MP_TAC
THEN POP_ASSUM MP_TAC
THEN REPLICATE_TAC 9(REMOVE_ASSUM_TAC)
THEN POP_ASSUM MP_TAC
THEN REAL_ARITH_TAC;
MP_TAC(REAL_ARITH`&0<= v\/ &0<= --( v)`)
THEN STRIP_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL ` v:real`[
REAL_ABS_NEG]
THEN MRESAL1_TAC Trigonometry2.ABS_REFL `--(&1- v):real` [
REAL_ABS_NEG]
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
norm (vv 1)
/\ &2 <=
scs_a_v39 s 2 1/\
scs_a_v39 s 2 1<= --(&1 - v) *
norm (vv 1) ==> &4<= v *norm ((vv:num->real^3) 1)`)
THEN ASM_REWRITE_TAC[]
THEN REPLICATE_TAC 5(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN POP_ASSUM MP_TAC
THEN ASM_REWRITE_TAC[h0]
THEN REAL_ARITH_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL ` --v:real`[
REAL_ABS_NEG]
THEN MRESAL1_TAC Trigonometry2.ABS_REFL `--(&1- v):real` [
REAL_ABS_NEG]
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
norm (vv 1)
/\ &2 <= --v *
norm (vv 1) ==> &4<= (&1-v) *norm ((vv:num->real^3) 1)`)
THEN ASM_REWRITE_TAC[REAL_ARITH`~(a<= b) <=> b<a`]
THEN REPLICATE_TAC 12(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN REPLICATE_TAC 11(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN POP_ASSUM MP_TAC
THEN ASM_REWRITE_TAC[]
THEN REAL_ARITH_TAC;
REPLICATE_TAC 14 (POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MRESAL_TAC
th[`0`;`1`][
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
ARITH_RULE`1 MOD 3 =1 /\ 2 MOD 3=2/\ ~(1=2) /\ SUC 1=2 /\ SUC 2=3/\ 3 MOD 3=0/\ 1<3/\ 2<3/\ 0<3 /\ ~(0=1)`;
dist;VECTOR_ARITH`A- B%A=(&1-B)%A`;
NORM_MUL])
THEN REPLICATE_TAC 6 (POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MRESAL_TAC
th[`0`;`1`][
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
ARITH_RULE`1 MOD 3 =1 /\ 2 MOD 3=2/\ ~(1=2) /\ SUC 1=2 /\ SUC 2=3/\ 3 MOD 3=0`;
dist;VECTOR_ARITH`B%A - A= --((&1-B)%A)`;
NORM_MUL;
NORM_NEG])
THEN REPLICATE_TAC 9(POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN SUBGOAL_THEN`(?x. x
IN (:num) /\ vv 1 = (vv:num->real^3) x)`ASSUME_TAC;
EXISTS_TAC`1`
THEN ASM_REWRITE_TAC[SET_RULE`(a:num)
IN (:num)`];
SUBGOAL_THEN`(?x. x
IN (:num) /\ vv 0 = (vv:num->real^3) x)`ASSUME_TAC;
EXISTS_TAC`0`
THEN ASM_REWRITE_TAC[SET_RULE`(a:num)
IN (:num)`];
REWRITE_TAC[
IMAGE;
SUBSET;
IN_ELIM_THM]
THEN STRIP_TAC
THEN POP_ASSUM(fun th-> MRESAL1_TAC
th`(vv:num->real^3) 0`[
ball_annulus;
IN_ELIM_THM;
DIFF;
cball;
ball;
dist;VECTOR_ARITH`
vec 0- B= --B`;
NORM_NEG;
NORM_MUL;REAL_ARITH`~(a<b) <=> b<=a`]
THEN MRESAL1_TAC
th`(vv:num->real^3) 1`[
ball_annulus;
IN_ELIM_THM;
DIFF;
cball;
ball;
dist;VECTOR_ARITH`
vec 0- B= --B`;
NORM_NEG;
NORM_MUL;REAL_ARITH`~(a<b) <=> b<=a`])
THEN MP_TAC(REAL_ARITH`&0<= &1-v\/ &0<= --( &1-v)`)
THEN STRIP_TAC
;
MP_TAC(REAL_ARITH`&0<= v\/ &0<= --( v)`)
THEN STRIP_TAC
;
MRESA1_TAC Trigonometry2.ABS_REFL `v:real`
THEN MRESA1_TAC Trigonometry2.ABS_REFL `&1- v:real`
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
scs_a_v39 s 1 0/\
scs_a_v39 s 1 0<= (&1 - v) *
norm (vv 1)
/\ &2 <= v *
norm (vv 1) ==> &4<=
norm ((vv:num->real^3) 1)`)
THEN REPLICATE_TAC 4(POP_ASSUM MP_TAC)
THEN ASM_REWRITE_TAC[h0]
THEN REAL_ARITH_TAC;
MRESAL1_TAC Trigonometry2.ABS_REFL `-- v:real`[
REAL_ABS_NEG]
THEN MRESA1_TAC Trigonometry2.ABS_REFL `&1- v:real`
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <= --v *
norm (vv 1)
/\ &2 <=
norm (vv 1) ==> &4<=(&1- v) *norm ((vv:num->real^3) 1)`)
THEN ASM_REWRITE_TAC[]
THEN REPLICATE_TAC 8(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN POP_ASSUM MP_TAC
THEN REWRITE_TAC[SYM
th])
THEN REPLICATE_TAC 23(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MRESAL1_TAC
th`0`[ARITH_RULE`SUC 0=1`])
THEN POP_ASSUM MP_TAC
THEN POP_ASSUM MP_TAC
THEN REPLICATE_TAC 9(REMOVE_ASSUM_TAC)
THEN POP_ASSUM MP_TAC
THEN REAL_ARITH_TAC;
MP_TAC(REAL_ARITH`&0<= v\/ &0<= --( v)`)
THEN STRIP_TAC;
MRESAL1_TAC Trigonometry2.ABS_REFL ` v:real`[
REAL_ABS_NEG]
THEN MRESAL1_TAC Trigonometry2.ABS_REFL `--(&1- v):real` [
REAL_ABS_NEG]
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
norm (vv 1)
/\ &2 <=
scs_a_v39 s 1 0/\
scs_a_v39 s 1 0<= --(&1 - v) *
norm (vv 1) ==> &4<= v *norm ((vv:num->real^3) 1)`)
THEN ASM_REWRITE_TAC[]
THEN REPLICATE_TAC 5(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN POP_ASSUM MP_TAC
THEN ASM_REWRITE_TAC[h0]
THEN REAL_ARITH_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL ` --v:real`[
REAL_ABS_NEG]
THEN MRESAL1_TAC Trigonometry2.ABS_REFL `--(&1- v):real` [
REAL_ABS_NEG]
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
norm (vv 1)
/\ &2 <= --v *
norm (vv 1) ==> &4<= (&1-v) *norm ((vv:num->real^3) 1)`)
THEN ASM_REWRITE_TAC[REAL_ARITH`~(a<= b) <=> b<a`]
THEN REPLICATE_TAC 12(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN REPLICATE_TAC 11(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN POP_ASSUM MP_TAC
THEN ASM_REWRITE_TAC[]
THEN REAL_ARITH_TAC;
REPLICATE_TAC 14 (POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MRESAL_TAC
th[`0`;`2`][
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
ARITH_RULE`1 MOD 3 =1 /\ 2 MOD 3=2/\ ~(1=2) /\ SUC 1=2 /\ SUC 2=3/\ 3 MOD 3=0/\ 1<3/\ 2<3/\ 0<3 /\ ~(0=1)/\ ~(0=2)`;
dist;VECTOR_ARITH`A- B%A=(&1-B)%A`;
NORM_MUL])
THEN REPLICATE_TAC 6 (POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MRESAL_TAC
th[`0`;`2`][
scs_k_v39_explicit;
scs_a_v39_explicit;
scs_b_v39_explicit;
LET_DEF;
LET_END_DEF;
BBs_v39;ARITH_RULE`3<=3`;
mk_unadorned_v39;
CS_ADJ;
ARITH_RULE`1 MOD 3 =1 /\ 2 MOD 3=2/\ ~(1=2) /\ SUC 1=2 /\ SUC 2=3/\ 3 MOD 3=0`;
dist;VECTOR_ARITH`B%A - A= --((&1-B)%A)`;
NORM_MUL;
NORM_NEG])
THEN REPLICATE_TAC 9(POP_ASSUM MP_TAC)
THEN POP_ASSUM(fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN SUBGOAL_THEN`(?x. x
IN (:num) /\ vv 2 = (vv:num->real^3) x)`ASSUME_TAC;
EXISTS_TAC`2`
THEN ASM_REWRITE_TAC[SET_RULE`(a:num)
IN (:num)`];
SUBGOAL_THEN`(?x. x
IN (:num) /\ vv 0 = (vv:num->real^3) x)`ASSUME_TAC;
EXISTS_TAC`0`
THEN ASM_REWRITE_TAC[SET_RULE`(a:num)
IN (:num)`];
REWRITE_TAC[
IMAGE;
SUBSET;
IN_ELIM_THM]
THEN STRIP_TAC
THEN POP_ASSUM(fun th-> MRESAL1_TAC
th`(vv:num->real^3) 0`[
ball_annulus;
IN_ELIM_THM;
DIFF;
cball;
ball;
dist;VECTOR_ARITH`
vec 0- B= --B`;
NORM_NEG;
NORM_MUL;REAL_ARITH`~(a<b) <=> b<=a`]
THEN MRESAL1_TAC
th`(vv:num->real^3) 2`[
ball_annulus;
IN_ELIM_THM;
DIFF;
cball;
ball;
dist;VECTOR_ARITH`
vec 0- B= --B`;
NORM_NEG;
NORM_MUL;REAL_ARITH`~(a<b) <=> b<=a`])
THEN MP_TAC(REAL_ARITH`&0<= &1-v\/ &0<= --( &1-v)`)
THEN STRIP_TAC
;
MP_TAC(REAL_ARITH`&0<= v\/ &0<= --( v)`)
THEN STRIP_TAC
;
MRESA1_TAC Trigonometry2.ABS_REFL `v:real`
THEN MRESA1_TAC Trigonometry2.ABS_REFL `&1- v:real`
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
scs_a_v39 s 2 0/\
scs_a_v39 s 2 0<= (&1 - v) *
norm (vv 2)
/\ &2 <= v *
norm (vv 2) ==> &4<=
norm ((vv:num->real^3) 2)`)
THEN REPLICATE_TAC 4(POP_ASSUM MP_TAC)
THEN ASM_REWRITE_TAC[h0]
THEN REAL_ARITH_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL `-- v:real`[
REAL_ABS_NEG]
THEN MRESA1_TAC Trigonometry2.ABS_REFL `&1- v:real`
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <= --v *
norm (vv 2)
/\ &2 <=
norm (vv 2) ==> &4<=(&1- v) *norm ((vv:num->real^3) 2)`)
THEN ASM_REWRITE_TAC[]
THEN REPLICATE_TAC 8(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN POP_ASSUM MP_TAC
THEN REWRITE_TAC[SYM
th])
THEN REPLICATE_TAC 23(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MRESAL1_TAC
th`2`[ARITH_RULE`SUC 2=3`])
THEN POP_ASSUM MP_TAC
THEN POP_ASSUM MP_TAC
THEN REPLICATE_TAC 9(REMOVE_ASSUM_TAC)
THEN ASM_TAC
THEN REWRITE_TAC[periodic2]
THEN REPEAT STRIP_TAC
THEN POP_ASSUM MP_TAC
THEN POP_ASSUM MP_TAC
THEN POP_ASSUM MP_TAC
THEN MRESAL_TAC (GEN_ALL
PERIODIC_PROPERTY)[`
scs_k_v39 s`;`
scs_b_v39 s 2`][ARITH_RULE`~(3=0)`;periodic]
THEN POP_ASSUM(fun th-> MRESAL1_TAC
th`3:num`[ARITH_RULE`3 MOD 3=0`])
THEN REAL_ARITH_TAC;
MP_TAC(REAL_ARITH`&0<= v\/ &0<= --( v)`)
THEN STRIP_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL ` v:real`[
REAL_ABS_NEG]
THEN MRESAL1_TAC Trigonometry2.ABS_REFL `--(&1- v):real` [
REAL_ABS_NEG]
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
norm (vv 2)
/\ &2 <=
scs_a_v39 s 2 0/\
scs_a_v39 s 2 0<= --(&1 - v) *
norm (vv 2) ==> &4<= v *norm ((vv:num->real^3) 2)`)
THEN ASM_REWRITE_TAC[]
THEN REPLICATE_TAC 5(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN POP_ASSUM MP_TAC
THEN ASM_REWRITE_TAC[h0]
THEN REAL_ARITH_TAC
;
MRESAL1_TAC Trigonometry2.ABS_REFL ` --v:real`[
REAL_ABS_NEG]
THEN MRESAL1_TAC Trigonometry2.ABS_REFL `--(&1- v):real` [
REAL_ABS_NEG]
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th]
THEN REPEAT STRIP_TAC)
THEN POP_ASSUM(fun th-> ASM_TAC
THEN REWRITE_TAC[
th; ]
THEN REPEAT STRIP_TAC)
THEN MP_TAC(REAL_ARITH`&2 <=
norm (vv 2)
/\ &2 <= --v *
norm (vv 2) ==> &4<= (&1-v) *norm ((vv:num->real^3) 2)`)
THEN ASM_REWRITE_TAC[REAL_ARITH`~(a<= b) <=> b<a`]
THEN REPLICATE_TAC 12(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN REPLICATE_TAC 11(POP_ASSUM MP_TAC)
THEN POP_ASSUM (fun th-> REPEAT STRIP_TAC
THEN MP_TAC
th)
THEN POP_ASSUM MP_TAC
THEN ASM_REWRITE_TAC[]
THEN REAL_ARITH_TAC;
]);;