Skip to content

Commit 9358dad

Browse files
authored
feat(M7.3): Fully proven. (#56)
1 parent 5aefe4e commit 9358dad

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

Main.v

+45-1
Original file line numberDiff line numberDiff line change
@@ -3195,7 +3195,51 @@ Lemma m7_3 : forall (u0 u1 u2 u3 : C), Cmod u0 = 1 -> Cmod u1 = 1 ->
31953195
(u2, u3) = (u0, u1) \/ (u2, u3) = (C1, u0^* * u1) -> u2 = u3 \/ u2 * u3 = C1 ->
31963196
(u0 = u1 \/ u0 * u1 = C1).
31973197
Proof.
3198-
Admitted.
3198+
intros.
3199+
destruct H1, H2.
3200+
{
3201+
rewrite pair_equal_spec in H1.
3202+
destruct H1.
3203+
left.
3204+
rewrite <- H1, <- H3.
3205+
exact H2.
3206+
}
3207+
{
3208+
rewrite pair_equal_spec in H1.
3209+
destruct H1.
3210+
right.
3211+
rewrite <- H1, <- H3.
3212+
exact H2.
3213+
}
3214+
{
3215+
rewrite pair_equal_spec in H1.
3216+
destruct H1.
3217+
left.
3218+
rewrite <- H2, H1 in H3.
3219+
apply (f_equal (fun f => u0 * f)) in H3.
3220+
rewrite Cmult_1_r in H3.
3221+
rewrite H3.
3222+
rewrite Cmult_assoc.
3223+
replace (u0 * u0^*) with ((u0^* * u0)^*) by lca.
3224+
rewrite <- Cmod_sqr.
3225+
rewrite H.
3226+
lca.
3227+
}
3228+
{
3229+
rewrite pair_equal_spec in H1.
3230+
left.
3231+
destruct H1.
3232+
rewrite H1, H3, Cmult_1_l in H2.
3233+
apply (f_equal (fun f => u0 * f)) in H2.
3234+
rewrite Cmult_1_r in H2.
3235+
rewrite <- H2.
3236+
rewrite Cmult_assoc.
3237+
replace (u0 * u0^*) with ((u0^* * u0)^*) by lca.
3238+
rewrite <- Cmod_sqr.
3239+
rewrite H.
3240+
lca.
3241+
}
3242+
Qed.
31993243

32003244
Theorem m7_4 : forall (u0 u1 : C), Cmod u0 = 1 -> Cmod u1 = 1 ->
32013245
(exists (V1 V2 V3 V4 : Square 8),

0 commit comments

Comments
 (0)