Skip to content

Commit cd96b3e

Browse files
authored
Merge pull request #99 from math-comp/revert-pr90
Revert "Workaround for #87"
2 parents dfaf034 + 6bae987 commit cd96b3e

File tree

1 file changed

+28
-31
lines changed

1 file changed

+28
-31
lines changed

theories/ring.v

+28-31
Original file line numberDiff line numberDiff line change
@@ -163,16 +163,15 @@ Lemma ring_correct (R : target_comRing) (n : nat) (l : seq R)
163163
(lpe : seq (RExpr R * RExpr R * PExpr Z * PExpr Z))
164164
(re1 re2 : RExpr R) (pe1 pe2 : PExpr Z) :
165165
Reval_eqs lpe ->
166-
(* FIXME: workaround for #87 *)
167-
(forall R_of_Z zero opp add sub_ one mul exp,
168-
Ring.Rnorm R_of_Z zero add opp sub_ one mul exp
166+
(forall R_of_Z zero opp add sub one mul exp,
167+
Ring.Rnorm R_of_Z zero add opp sub one mul exp
169168
(@target_comRingMorph R) re1 ::
170-
Ring.Rnorm R_of_Z zero add opp sub_ one mul exp
169+
Ring.Rnorm R_of_Z zero add opp sub one mul exp
171170
(@target_comRingMorph R) re2 ::
172-
Rnorm_list R_of_Z zero add opp sub_ one mul exp lpe =
173-
PEeval zero one add mul sub_ opp R_of_Z id exp l pe1 ::
174-
PEeval zero one add mul sub_ opp R_of_Z id exp l pe2 ::
175-
PEeval_list R_of_Z zero opp add sub_ one mul exp l lpe) ->
171+
Rnorm_list R_of_Z zero add opp sub one mul exp lpe =
172+
PEeval zero one add mul sub opp R_of_Z id exp l pe1 ::
173+
PEeval zero one add mul sub opp R_of_Z id exp l pe2 ::
174+
PEeval_list R_of_Z zero opp add sub one mul exp l lpe) ->
176175
(let norm_subst' :=
177176
norm_subst 0 1 Z.add Z.mul Z.sub Z.opp Z.eqb (triv_div 0 1 Z.eqb) n
178177
(mk_monpol_list
@@ -255,18 +254,17 @@ Lemma field_correct (F : fieldType) (n : nat) (l : seq F)
255254
(lpe : seq (RExpr F * RExpr F * PExpr Z * PExpr Z))
256255
(re1 re2 : RExpr F) (fe1 fe2 : FExpr Z) :
257256
Reval_eqs lpe ->
258-
(* FIXME: workaround for #87 *)
259-
(forall R_of_Z zero opp add sub_ one mul exp div inv,
260-
Field.Rnorm R_of_Z zero add opp sub_ one mul exp inv id re1 ::
261-
Field.Rnorm R_of_Z zero add opp sub_ one mul exp inv id re2 ::
262-
Rnorm_list R_of_Z zero add opp sub_ one mul exp lpe =
263-
FEeval zero one add mul sub_ opp div inv R_of_Z id exp l fe1 ::
264-
FEeval zero one add mul sub_ opp div inv R_of_Z id exp l fe2 ::
265-
PEeval_list R_of_Z zero opp add sub_ one mul exp l lpe) ->
266-
(forall is_true_ negb_ andb_ zero one add mul sub_ opp Feqb F_of_nat exp l',
257+
(forall R_of_Z zero opp add sub one mul exp div inv,
258+
Field.Rnorm R_of_Z zero add opp sub one mul exp inv id re1 ::
259+
Field.Rnorm R_of_Z zero add opp sub one mul exp inv id re2 ::
260+
Rnorm_list R_of_Z zero add opp sub one mul exp lpe =
261+
FEeval zero one add mul sub opp div inv R_of_Z id exp l fe1 ::
262+
FEeval zero one add mul sub opp div inv R_of_Z id exp l fe2 ::
263+
PEeval_list R_of_Z zero opp add sub one mul exp l lpe) ->
264+
(forall is_true_ negb_ andb_ zero one add mul sub opp Feqb F_of_nat exp l',
267265
is_true_ = is_true -> negb_ = negb -> andb_ = andb ->
268266
zero = 0 -> one = 1 -> add = +%R -> mul = *%R ->
269-
sub_ = (fun x y => x - y) -> opp = -%R -> Feqb = eq_op ->
267+
sub = (fun x y => x - y) -> opp = -%R -> Feqb = eq_op ->
270268
F_of_nat = GRing.natmul 1 -> exp = @GRing.exp F -> l' = l ->
271269
let F_of_pos p := if p is xH then one else F_of_nat (Pos.to_nat p) in
272270
let F_of_Z n :=
@@ -285,7 +283,7 @@ Lemma field_correct (F : fieldType) (n : nat) (l : seq F)
285283
Peq Z.eqb (norm_subst' (PEmul (num nfe1) (denum nfe2)))
286284
(norm_subst' (PEmul (num nfe2) (denum nfe1))) /\
287285
is_true_ (PCond' true negb_ andb_
288-
zero one add mul sub_ opp Feqb F_of_Z nat_of_N exp l'
286+
zero one add mul sub opp Feqb F_of_Z nat_of_N exp l'
289287
(Fapp (Fcons00 0 1 Z.add Z.mul Z.sub Z.opp Z.eqb
290288
(triv_div 0 1 Z.eqb))
291289
(condition nfe1 ++ condition nfe2) [::]))) ->
@@ -310,18 +308,17 @@ Lemma numField_correct (F : numFieldType) (n : nat) (l : seq F)
310308
(lpe : seq (RExpr F * RExpr F * PExpr Z * PExpr Z))
311309
(re1 re2 : RExpr F) (fe1 fe2 : FExpr Z) :
312310
Reval_eqs lpe ->
313-
(* FIXME: workaround for #87 *)
314-
(forall R_of_Z zero opp add sub_ one mul exp div inv,
315-
Field.Rnorm R_of_Z zero add opp sub_ one mul exp inv id re1 ::
316-
Field.Rnorm R_of_Z zero add opp sub_ one mul exp inv id re2 ::
317-
Rnorm_list R_of_Z zero add opp sub_ one mul exp lpe =
318-
FEeval zero one add mul sub_ opp div inv R_of_Z id exp l fe1 ::
319-
FEeval zero one add mul sub_ opp div inv R_of_Z id exp l fe2 ::
320-
PEeval_list R_of_Z zero opp add sub_ one mul exp l lpe) ->
321-
(forall is_true_ negb_ andb_ zero one add mul sub_ opp Feqb F_of_nat exp l',
311+
(forall R_of_Z zero opp add sub one mul exp div inv,
312+
Field.Rnorm R_of_Z zero add opp sub one mul exp inv id re1 ::
313+
Field.Rnorm R_of_Z zero add opp sub one mul exp inv id re2 ::
314+
Rnorm_list R_of_Z zero add opp sub one mul exp lpe =
315+
FEeval zero one add mul sub opp div inv R_of_Z id exp l fe1 ::
316+
FEeval zero one add mul sub opp div inv R_of_Z id exp l fe2 ::
317+
PEeval_list R_of_Z zero opp add sub one mul exp l lpe) ->
318+
(forall is_true_ negb_ andb_ zero one add mul sub opp Feqb F_of_nat exp l',
322319
is_true_ = is_true -> negb_ = negb -> andb_ = andb ->
323320
zero = 0 -> one = 1 -> add = +%R -> mul = *%R ->
324-
sub_ = (fun x y => x - y) -> opp = -%R -> Feqb = eq_op ->
321+
sub = (fun x y => x - y) -> opp = -%R -> Feqb = eq_op ->
325322
F_of_nat = GRing.natmul 1 -> exp = @GRing.exp F -> l' = l ->
326323
let F_of_pos p := if p is xH then one else F_of_nat (Pos.to_nat p) in
327324
let F_of_Z n :=
@@ -340,7 +337,7 @@ Lemma numField_correct (F : numFieldType) (n : nat) (l : seq F)
340337
Peq Z.eqb (norm_subst' (PEmul (num nfe1) (denum nfe2)))
341338
(norm_subst' (PEmul (num nfe2) (denum nfe1))) /\
342339
is_true_ (PCond' true negb_ andb_
343-
zero one add mul sub_ opp Feqb F_of_Z nat_of_N exp l'
340+
zero one add mul sub opp Feqb F_of_Z nat_of_N exp l'
344341
(Fapp (Fcons2 0 1 Z.add Z.mul Z.sub Z.opp Z.eqb
345342
(triv_div 0 1 Z.eqb))
346343
(condition nfe1 ++ condition nfe2) [::]))) ->
@@ -375,7 +372,7 @@ Ltac field_normalization :=
375372
let one := fresh "one" in
376373
let add := fresh "add" in
377374
let mul := fresh "mul" in
378-
let sub := fresh "sub_" in (* FIXME: workaround for #87 *)
375+
let sub := fresh "sub" in
379376
let opp := fresh "opp" in
380377
let Feqb := fresh "Feqb" in
381378
let F_of_nat := fresh "F_of_nat" in

0 commit comments

Comments
 (0)