From a0c900b09abf32351cfcc17247c7e60c35a1da44 Mon Sep 17 00:00:00 2001 From: Thomas Wood <thomas.wood09@imperial.ac.uk> Date: Tue, 15 Sep 2015 14:09:21 +0100 Subject: [PATCH] No longer any need for constant extraction of var_gen --- generator/tests/lambda/Lambda.v | 3 --- generator/tests/lambda/LibVar.ml | 13 ++++++++++++- generator/tests/lambda/Specif.ml | 4 ++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/generator/tests/lambda/Lambda.v b/generator/tests/lambda/Lambda.v index 703e41c..cc4390e 100644 --- a/generator/tests/lambda/Lambda.v +++ b/generator/tests/lambda/Lambda.v @@ -130,9 +130,6 @@ Extraction Inline nat_comparable var_comp var_comparable. (otherwise, useless errors will be launched). *) Extraction Inline classicT LibEpsilon.Inhab_witness LibEpsilon.epsilon LibEpsilon.epsilon_def indefinite_description. -(* Suppress dependency on Specif.ml... *) -Extract Constant var_gen => "failwith ""AXIOM NOT REALISED""". - Set Extraction AccessOpaque. Unset Extraction Optimize. Unset Extraction KeepSingleton. diff --git a/generator/tests/lambda/LibVar.ml b/generator/tests/lambda/LibVar.ml index ece715d..bbe34f7 100644 --- a/generator/tests/lambda/LibVar.ml +++ b/generator/tests/lambda/LibVar.ml @@ -4,6 +4,7 @@ open LibList open LibNat open LibReflect open Peano +open Specif let __ = let rec f _ = Obj.repr f in Obj.repr f @@ -45,7 +46,17 @@ module Variables = (** val var_gen : vars -> var **) - let var_gen = failwith "AXIOM NOT REALISED" + let var_gen e = + var_gen_list + (let s = + let h = failwith "AXIOM TO BE REALIZED" in + (match h with + | Coq_true -> (fun _ -> Coq_left) + | Coq_false -> (fun _ -> Coq_right)) __ + in + match s with + | Coq_left -> failwith "AXIOM TO BE REALIZED" + | Coq_right -> failwith "AXIOM TO BE REALIZED") (** val var_fresh : vars -> var **) diff --git a/generator/tests/lambda/Specif.ml b/generator/tests/lambda/Specif.ml index 7481ce4..119dd63 100644 --- a/generator/tests/lambda/Specif.ml +++ b/generator/tests/lambda/Specif.ml @@ -2,3 +2,7 @@ type 'a coq_sig = 'a (* singleton inductive, whose constructor was exist *) +type sumbool = +| Coq_left [@f] (** Auto Generated Attributes **) +| Coq_right [@f] (** Auto Generated Attributes **) + -- GitLab