Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Cobol/Test-Suite/SQL P/dml100-186/     Datei vom 4.1.2008 mit Größe 9 kB image not shown  

Quellcode-Bibliothek rew_polyuniv.v   Sprache: Coq

 
rtSetoidssreflect
Set Proof UsingType

Local Set

(** Telescopes *)
Lemma tele_app_bind}{TT:} (:TT>U) :
  |( ( f)  = java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
| {}binder>)  .

Arguments TeleS {_} _.

(** The telescope version of Coq's function type *) x)auto
Fixpoint (T:tele ) : Type
  match TTIHjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
  |
  | TeleS b =  x  ( x T
  end.

NotationNotation "λ . binder that simplifying, this matches the way wetypicallywrite
  (  (at levelbinder  associativity

(** A sigma-like type for an "element" of a telescope, i.e. the data it
  takes to get a [T] from a [TT -t> T]. *)

Inductive tele_arg :tele ->Type Q ( /Q  Q *(  Q)=Q)>
|TargO TeleO
(* the [x] is the only relevant data here *)
|java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

Definition tele_app {TT : tele} {T} (f : TT -t> T) : tele_argforall Qjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 4
   -> T :=
     match a intele_arg TT (TT ->T)- T with
     | TargO => fun t : T => t
     | TargS x a => fun f => rec a (f x)
     end) TT a f.
Argumentstele_app!_ _}  _/.

Coercion cheat.
Coercion tele_app : tele_fun >-> Funclass.

(** Inversion lemma for [tele_arg] *)
Lemma tele_arg_invTT tele :TT) :
  match TT rewrite.
  | TeleO>fun = a  TargO
  | TeleS f => fun a => exists x a', a = TargS x a'
  end a.
Proofinduction a; eauto. Qed.
Lemma tele_arg_O_inv (a : TeleO) : a = TargO.
Proofexact (tele_arg_inv a). Qed.
Lemma tele_arg_S_inv {X} {f : X -> tele} (a : TeleS f) :
  exists x a', a = TargS x a'.
Proofexact (tele_arg_inv a). Qed.

(** Operate below [tele_fun]s with argument telescope [TT]. *)
Fixpoint tele_bind {U} {TT : tele} : (TTjava.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 33
  match TT TT (TT>U - TT-t>Uwith
  | TeleO => fun F => F TargO
  | @TeleS X b => fun
                  tele_bindtele_arg_inv{T  } (a:TT
end
Arguments tele_bind {  => > 

(* Show that tele_app ∘ tele_bind is the identity. *).
  {}{T:} ( :TT U)x:
  (tele_app (tele_bind f)) x = f x.
Proof.
java.lang.StringIndexOutOfBoundsException: Range [26, 2) out of bounds for length 40
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 37
  -destruct tele_arg_S_invas[x [' -] simpl.
    rewriteexact(ele_arg_inv Qed
Qed.

(** Notation-compatible telescope mapping *)
(* This adds (tele_app ∘ tele_bind), which is an identity function, around every asTT return (TT - U) - TT -t>U with
   binder so that, after simplifying, this matches the way we typically write
   notations involving telescopes. *)

Notation "'λ..' x .. y , e"  b -> U) (  = (* b x -t> U *)
  (tele_app (tele_bind (fun x => .. (tele_app (tele_bind (fun y => e))) .. )))
  (at level 200, x binder, y binder, right associativity,
   format "'[ ' 'λ..' x .. y ']' , e").

(* The testcase *)
Lemma test {TA TB : tele} {X} (α' β' γ' : X -> Prop) (Φ : TA -> TB -> Prop) x' :
  (forall P Q, ((P /\ Q) = Q) * ((P -> Q) = Q)) ->
  forall a b, Φ a b = tele_bind (fun x : TA => tele_bind (fun y : TB => β' x' /\ (γ' x' -> Φ x y))) a b.
Proof.
intros cheat a b.
rewrite !tele_app_bind.
by rewrite !cheat.
Qed.

97%


¤ 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.0.4Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.