Commit dd2efcbf by Jean-Christophe Filliâtre

### a more general pigeon hole principle

parent 4af9081d
 ... @@ -61,7 +61,7 @@ theory Graph ... @@ -61,7 +61,7 @@ theory Graph Two cases depending on l3=[] (and thus u=v) conclude the proof. Qed. Two cases depending on l3=[] (and thus u=v) conclude the proof. Qed. *) *) clone pigeon.Pigeonhole with type t = vertex clone pigeon.ListAndSet with type t = vertex predicate cyc_decomp (v: vertex) (l: list vertex) predicate cyc_decomp (v: vertex) (l: list vertex) (vi: vertex) (l1 l2 l3: list vertex) = (vi: vertex) (l1 l2 l3: list vertex) = ... ...
 ... @@ -174,7 +174,7 @@ ... @@ -174,7 +174,7 @@ ... @@ -335,15 +335,15 @@ ... @@ -335,15 +335,15 @@ ... ...
 (** {1 Pigeon hole principle} (** {1 Pigeon hole principle} *) Contributed by Yuto Takei (University of Tokyo) *) module Pigeonhole module Pigeonhole use import int.Int use import map.Map val lemma pigeonhole (n m: int) (f: int -> int) requires { 0 <= m < n } requires { forall i. 0 <= i < n -> 0 <= f i < m } ensures { exists i1, i2. 0 <= i1 < i2 < n /\ f i1 = f i2 } end (* An instance where a list is included into a set with fewer elements. Contributed by Yuto Takei (University of Tokyo) *) module ListAndSet use import int.Int use import int.Int use import list.List use import list.List use import list.Length use import list.Length ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment