Commit 5a01c422 by MARCHE Claude

### Theory of sets: split/clone between finite and infinite sets

parent 27538456
 ... ... @@ -4,6 +4,10 @@ == Papers to write == * paper on the module system, its semantics, realizations, avec en particulier la solution avec les types classes qui reste a implanter * DONE Encodings and transformations (Andrei+Francois) * DONE Why presentation at the IVL workshop of CADE: (http://research.microsoft.com/en-us/um/people/moskal/boogie2011/) ... ... @@ -101,14 +105,17 @@ * Coq tactic ** ajout de bases de hint * Coq output * PRIORITAIRE Coq output - corriger l'incoherence, comprendre si on veut vraiment accepter function x : 'a (cf: en caml cela ne marche pas) Solution proposee: utiliser des types classes, en particulier Inhabited * new language constructs ** sandbox, abstract ** NOT NEEDED ANYMORE sandbox ** DONE abstract e { q } ** contract e { q } * efficiency issues - understand problems when large number of goals (cf D Mentré examples) ... ... @@ -202,7 +209,7 @@ See manual Section xx == TODOs == * BUG CVC3 avec la division par 0, cf examples/tests-provers/cvc3.why * DONE bug CVC3 avec la division par 0, cf examples/tests-provers/cvc3.why * DONE Document the Coq plugin and tactic ** DONE option timelimit ... ...
 theory Th1 use import set.Fsetint (* proved with vampire 0.6 and eprover 1.4 *) lemma l_false : false end theory Th2 use import set.Fsetint function integer : set int lemma mem_integer: forall x:int. mem x integer goal foo : false end theory Th3 use import int.Int type set 'a function f (set int) : int function g (set int) : int axiom axiom1: forall s: set int, x: int. f s <= x <= g s goal foo : false end

This diff is collapsed.
This diff is collapsed.
 ... ... @@ -3,7 +3,7 @@ (** {2 General Sets} *) theory Set theory SetGen type set 'a ... ... @@ -78,12 +78,19 @@ theory Set axiom choose_def: forall s: set 'a. not (is_empty s) -> mem (choose s) s (* end (** {2 Potentially infinite sets} *) theory Set clone export SetGen (** the set of all x of type 'a *) constant all: set 'a axiom all_def: forall x: 'a. mem x all *) end (** {2 Set Comprehension} *) ... ... @@ -119,7 +126,7 @@ end theory Fset use import int.Int clone export Set clone export SetGen function cardinal (set 'a) : int ... ... @@ -206,17 +213,6 @@ theory Fsetint end (** {2 Set extensionality} *) theory FsetExt use export Fset axiom ext: forall s1 s2 : set 'a. s1 = s2 <-> (forall x : 'a. mem x s1 <-> mem x s2) end (** {2 Sets realized as maps} *) theory SetMap ... ...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!