Commit aa01c354 by Jean-Christophe Filliatre

### new logic example: Los problem

parent 139d7f44
 (* Los problem *) theory LosProblem type t predicate p t t predicate q t t (* p and q are transitive *) axiom p_trans: forall x y z: t. p x y -> p y z -> p x z axiom q_trans: forall x y z: t. q x y -> q y z -> q x z (* q is symmetric *) axiom q_sym: forall x y: t. q x y -> q y x (* p\/q is universal *) axiom p_or_q: forall x y: t. p x y \/ q x y (* show that either p or q is universal *) goal los_problem: (forall x y: t. p x y) \/ (forall x y: t. q x y) end

 ... ... @@ -123,11 +123,11 @@ theory MapPermut l <= i < u -> l <= j < u -> exchange a1 a2 i j -> permut_sub a1 a2 l u (** [permut_sub m1 m2 l u] is true when the segment [m1(l..u-1)] is a permutation of the segment [m2(l..u-1)] [m2(l..u-1)]. Values outside of the interval (l..u-1) are ignored. It is defined inductively as the smallest equivalence relation that contains the exchanges *) It is defined inductively as the smallest equivalence relation that contains the exchanges *) lemma permut_weakening : forall a1 a2 : map int 'a. forall l1 r1 l2 r2 : int. ... ...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!