Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  Preorder.thy

  Sprache: Isabelle
 

(* Author: Florian Haftmann, TU Muenchen *)

section Preorders with explicit equivalence relation

theory Preorder
imports Main
begin

class preorder_equiv = preorder
begin

definition equiv :: "'a 'a bool"
  where "equiv x y x y y x"

notation
  equiv ('(')and
  equiv ((notation=infix _/ _) [515150)

lemma equivD1: "x y" if "x y"
  using that by (simp add: equiv_def)

lemma equivD2: "y x" if "x y"
  using that by (simp add: equiv_def)

lemma equiv_refl [iff]: "x x"
  by (simp add: equiv_def)

lemma equiv_sym: "x y y x"
  by (auto simp add: equiv_def)

lemma equiv_trans: "x y ==> y z ==> x z"
  by (auto simp: equiv_def intro: order_trans)

lemma equiv_antisym: "x y ==> y x ==> x y"
  by (simp only: equiv_def)

lemma less_le: "x < y x y ¬ x y"
  by (auto simp add: equiv_def less_le_not_le)

lemma le_less: "x y x < y x y"
  by (auto simp add: equiv_def less_le)

lemma le_imp_less_or_equiv: "x y ==> x < y x y"
  by (simp add: less_le)

lemma less_imp_not_equiv: "x < y ==> ¬ x y"
  by (simp add: less_le)

lemma not_equiv_le_trans: "¬ a b ==> a b ==> a < b"
  by (simp add: less_le)

lemma le_not_equiv_trans: "a b ==> ¬ a b ==> a < b"
  by (rule not_equiv_le_trans)

lemma antisym_conv: "y x ==> x y x y"
  by (simp add: equiv_def)

end

ML_file ~~/src/Provers/preorder.ML

ML 
  Quasi = Quasi_Tac(
 

  le_trans = @{thm order_trans};
  le_refl = @{thm order_refl};
  eqD1 = @{thm equivD1};
  eqD2 = @{thm equivD2};
  less_reflE = @{thm less_irrefl};
  less_imp_le = @{thm less_imp_le};
  le_neq_trans = @{thm le_not_equiv_trans};
  neq_le_trans = @{thm not_equiv_le_trans};
  less_imp_neq = @{thm less_imp_not_equiv};

  decomp_quasi thy (Const (@{const_name less_eq}, _) $ t1 $ t2) = SOME (t1, "<=", t2)
 | decomp_quasi thy (Const (@{const_name less}, _) $ t1 $ t2) = SOME (t1, "<", t2)
 | decomp_quasi thy (Const (@{const_name equiv}, _) $ t1 $ t2) = SOME (t1, "=", t2)
 | decomp_quasi thy (Const (@{const_name Not}, _) $ (Const (@{const_name equiv}, _) $ t1 $ t2)) = SOME (t1, "~=", t2)
 | decomp_quasi thy _ = NONE;

  decomp_trans thy t = case decomp_quasi thy t of
 x as SOME (t1, "<=", t2) => x
 | _ => NONE;

 
 ;
 


end

Messung V0.5 in Prozent
C=67 H=72 G=68

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-06-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik