(* File reduced by coq-bug-finder from original input, then from 14990 lines to 70 lines, then from 44 lines to 29 lines *) (* coqc version trunk (September 2014) compiled on Sep 17 2014 0:22:30 with OCaml 4.01.0
coqtop version cagnode16:/afs/csail.mit.edu/u/j/jgross/coq-trunk,trunk (d34e1eed232c84590ddb80d70db9f7f7cf13584a) *) Set Primitive Projections. SetImplicitArguments.
Record sigT {A} P := existT { pr1 : A ; pr2 : P pr1 }. Notation"{ x : A & P }" := (sigT (A := A) (fun x : A => P)) : type_scope. Notation"x .1" := (pr1 x). Notation"x .2" := (pr2 x).
Record Equiv A B := { equiv_fun :> A -> B }. Notation"A <~> B" := (Equiv A B) (at level 85). Inductive Bool : Type := true | false. Definition negb (b : Bool) := if b then false else true. Axiom eval_bool_isequiv : forall (f : Bool -> Bool), f false = negb (f true). Lemma bool_map_equiv_not_idmap (f : { f : Bool <~> Bool & ~(forall x, f x = x) })
: forall b, ~(f.1 b = b). Proof. intro b. intro H''. apply f.2. intro b'. poseproof (eval_bool_isequiv f.1) as H. destruct b', b.
Fail matchtype of H with
| _ = negb (f.1 true) => fail 1 "no f.1 true" end. (* Error: No matching clauses for match. *) destruct (f.1 true). simpl in *.
Fail matchtype of H with
| _ = negb ?T => unify T (f.1 true); fail 1 "still has f.1 true" end. (* Error: Tactic failure: still has f.1 true. *) Abort.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.