Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Archive-of-Formal-Proofs/thys/Binomial-Heaps/   (Sammlung formaler Beweise Version 2026-5©)  Datei vom 29.4.2026 mit Größe 2 kB image not shown  

Quelle  Test.thy

  Sprache: Isabelle
 

theory Test
imports "HOL-Library.Code_Target_Numeral" BinomialHeap SkewBinomialHeap
begin
  text 
 This theory is included into teh session, in order to
 catch problems with code generation.
 



definition
  sh_empty :: "unit ==> ('a,nat) SkewBinomialHeap"
  where "sh_empty u SkewBinomialHeap.empty"
definition
  sh_findMin :: "('a,nat) SkewBinomialHeap ==> _"
  where "sh_findMin SkewBinomialHeap.findMin"
definition
  sh_deleteMin :: "('a,nat) SkewBinomialHeap ==> ('a,nat) SkewBinomialHeap"
  where "sh_deleteMin SkewBinomialHeap.deleteMin"
definition
  sh_insert :: "_ ==> nat ==> _ ==> _"
  where "sh_insert SkewBinomialHeap.insert"
definition
  sh_meld :: "('a,nat) SkewBinomialHeap ==> _"
  where "sh_meld SkewBinomialHeap.meld"

definition
  bh_empty :: "unit ==> ('a,nat) BinomialHeap"
  where "bh_empty u BinomialHeap.empty"
definition
  bh_findMin :: "('a,nat) BinomialHeap ==> _"
  where "bh_findMin BinomialHeap.findMin"
definition
  bh_deleteMin :: "('a,nat) BinomialHeap ==> ('a,nat) BinomialHeap"
  where "bh_deleteMin BinomialHeap.deleteMin"
definition
  bh_insert :: "_ ==> nat ==> _ ==> _"
  where "bh_insert BinomialHeap.insert"
definition
  bh_meld :: "('a,nat) BinomialHeap ==> _"
  where "bh_meld BinomialHeap.meld"

export_code 
  sh_empty
  sh_findMin
  sh_deleteMin
  sh_insert
  sh_meld

  bh_empty
  bh_findMin
  bh_deleteMin
  bh_insert
  bh_meld
  in Haskell
  in OCaml
  in SML

ML_val 
 (* ** Binomial Heaps ** *)

 val q1 = @{code bh_insert} "a" (@{code nat_of_integer} 1)
 (@{code bh_insert} "b" (@{code nat_of_integer} 2) (@{code bh_empty} ()));
 val q2 = @{code bh_insert} "c" (@{code nat_of_integer} 3)
 (@{code bh_insert} "d" (@{code nat_of_integer} 4) (@{code bh_empty} ()));

 val q = @{code bh_meld} q1 q2;
 @{code bh_findMin} q;

 val q = @{code bh_deleteMin} q;
 @{code bh_findMin} q;


  (* ** Skew Binomial Heaps ** *)

  val q1 = @{code sh_insert} "a" (@{code nat_of_integer} 1)
    (@{code sh_insert} "b" (@{code nat_of_integer} 2) (@{code sh_empty} ()));
  val q2 = @{code sh_insert} "c" (@{code nat_of_integer} 3)
    (@{code sh_insert} "d" (@{code nat_of_integer} 4) (@{code sh_empty} ()));

  val q = @{code sh_meld} q1 q2;
  @{code sh_findMin} q;

  val q = @{code sh_deleteMin} q;
  @{code sh_findMin} q;


end

Messung V0.5 in Prozent
C=46 H=88 G=70

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-06-10) ¤

*© 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.