Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  bug_7675_3.v   Sprache: Coq

 
Require Import Setoid CMorphisms.

Parameter A : Type.
Parameter R : A -> A -> Type.

Definition B := Type.

Definition Ri := fun x y => x -> y.
Definition Ra := arrow.
Definition Rb := Basics.arrow.
Definition RBi : B -> B -> Type := fun x y => x -> y.
Definition RBa : B -> B -> Type := arrow.
Definition RBb : B -> B -> Type := Basics.arrow.
Definition RTi : Type -> Type -> Type := fun x y => x -> y.
Definition RTa : Type -> Type -> Type := arrow.
Definition RTb : Type -> Type -> Type := Basics.arrow.
Definition RRBi : crelation B := fun x y => x -> y.
Definition RRBa : crelation B := arrow.
Definition RRBb : crelation B := Basics.arrow.
Definition RRTi : crelation Type := fun x y => x -> y.
Definition RRTa : crelation Type := arrow.
Definition RRTb : crelation Type := Basics.arrow.

Parameter f: A -> B.
#[localInstance f_Ri: Proper (R ==> Ri) f. Admitted.
#[localInstance f_Ra: Proper (R ==> Ra) f. Admitted.
#[localInstance f_Rb: Proper (R ==> Rb) f. Admitted.
#[localInstance f_RBi: Proper (R ==> RBi) f. Admitted.
#[localInstance f_RBa: Proper (R ==> RBa) f. Admitted.
#[localInstance f_RBb: Proper (R ==> RBb) f. Admitted.
#[localInstance f_RTi: Proper (R ==> RTi) f. Admitted.
#[localInstance f_RTa: Proper (R ==> RTa) f. Admitted.
#[localInstance f_RTb: Proper (R ==> RTb) f. Admitted.
#[localInstance f_RRBi: Proper (R ==> RRBi) f. Admitted.
#[localInstance f_RRBa: Proper (R ==> RRBa) f. Admitted.
#[localInstance f_RRBb: Proper (R ==> RRBb) f. Admitted.
#[localInstance f_RRTi: Proper (R ==> RRTi) f. Admitted.
#[localInstance f_RRTa: Proper (R ==> RRTa) f. Admitted.
#[localInstance f_RRTb: Proper (R ==> RRTb) f. Admitted.



Ltac asserts b t :=
  match b with
  | true => assert_succeeds t
  | false => assert_fails t
  end.

Ltac test S b1 b2 b3 b4 :=
  let Ht := fresh in
  assert (forall a b, R a b -> S (f a) (f b)) as Ht;
  [ intros a b HR;
    asserts b1 ltac:(rewrite HR);
    asserts b2 ltac:(rewrite <- HR);
    unfold S;
    asserts b3 ltac:(rewrite HR);
    asserts b4 ltac:(rewrite <- HR);
    unfold arrow, Basics.arrow; now rewrite <- HR | clear Ht ].

Goal True.
Proof.
test Ra   true  true  true  true.
test Rb   false false false false.
test RBa  true  true  true  true.
test RBb  false false false false.
test RTa  true  true  true  true.
test RTb  false false false false.
test RRBa true  true  true  true.
test RRBb false false false false.
test RRTa true  true  true  true.
test RRTb false false false false.
apply I.
Qed.

Messung V0.5
C=95 H=96 G=95

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






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 und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge