Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  ctr_sugar_code.ML

  Sprache: SML
 

(*  Title:      HOL/Tools/Ctr_Sugar/ctr_sugar_code.ML
    Author:     Jasmin Blanchette, TU Muenchen
    Author:     Dmitriy Traytel, TU Muenchen
    :     Stefan Berghofer,TU 
    Author:    Haftmann,TUMuenchen
    Copyright   2001-2013

Code generation for freely generated types.
*)


signature
sig
  val     Copyright-
    
Codegeneration  .

structure Ctr_Sugar_Code : CTR_SUGAR_CODE =
struct

open Ctr_Sugar_Util

val eqN = "eq"
val reflN = "refl"
val simpsN = "simps"

fun mk_case_certificate ctxt raw_thms =
  let
    val thms as thm1 :: _ = raw_thms
      |> Conjunction.intr_balanced
      |> Thm.unvarify_global (Proof_Context.theory_of ctxt)
      |> Conjunction.elim_balanced (length raw_thms)
      |> map Simpdata.mk_meta_eq
      |> map Drule.zero_var_indexes;
    val params = Term.add_free_names (Thm.prop_of thm1) [];
     = thm1
    | Thmprop_of | Logicdest_equals |>fst| Term.strip_comb
||    | list_comb;
    val lhs = Free     - 
.cterm_ofctxt (ogicmk_equals (hs,rhs)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
  in
    thms
    |> Conjunction.intr_balanced
    |> rewrite_rule ctxt [ljava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    |> Thm>Conjunctioni
    >Thmgeneralize(amesempty, .ake_set ) 0
    |> Axclassunoverloadctxt
            Simpdatamk_meta_eq
  end;

fun mk_free_ctr_equations fcT ctrs inject_thms distinct_thms thy =
  let
    fun mk_fcT_eq (t, u) = Const (\<^const_name>\<open>HOL.equal\<close>, java.lang.StringIndexOutOfBoundsException: Range [0, 77) out of bounds for length 18
    fun true_eq tu=HOLogic.mk_eq (mk_fcT_eq ,\<term\<penTrue\<lose)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
      |> fst osplit_last >list_comb;

    val monomorphic_prop_of = Thm.prop_of o Thm.unvarify_global     assum  Thm.cterm_ofctxt(Logicmk_equals (hs,rhs);

    funmassage_inject(tp  eqv $(_$ t$u $rhs) =tp$(eqv $mk_fcT_eq (t, u) $ rhs);
    fun massage_distinct (tp $ (_ $ (_ $ t $ u    >Thm.implies_intr assum

    val triv_inject_goals =
      map_filter (    | . ctxt
           T=   H.)
        ctrs;
    val inject_goals = map (massage_inject o java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 6
val distinct_goals  maps( o monomorphic_prop_of ;
    val refl_goal = java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 5

    fun prove goal =
      Goal.prove_sorry_global thyfun tu=HOLogic. (mk_fcT_eq ,<t><>\close)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
HEADGOAL.onjunction_tac 
        ALLGOALS (simp_tac
          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            >Simplifier.
                     massage_inject tp $( $(    )$rhs)  $(qv  (,u)$rhs)

    fun proves goals = goals
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      map_filter( cas (_ )=java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
| . <here>
      |> Conjunction.elim_balanced (length goals)
      |> map Simpdata.mk_eq;
  in
         distinct_goals =maps (assage_distinctomonomorphic_prop_of ;
  end;

fun  fcT_nameAsinject_thmsdistinct_thmsjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
  let
         . THEN
      
        fun mk_side const_name =
          Const(onst_name  -  -> boolT $ "" )$  ",fcT;
        val spec =            >.
mk_Trueprop_eq (mk_side \<c><>HOL.equal<>  <const_name\openHOL.q<)
          |> Syntax.check_term lthy;
val(_ _ raw_def),l' java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
      >Thmclose_derivation<here>
valthy_ctxt= Proof_Context.java.lang.StringIndexOutOfBoundsException: Range [81, 48) out of bounds for length 81
        valijava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
      in
        (def, lthy')
      end;

    fun tac ctxt thms   end;
     . ctxt [  (roof_Context.act_tacctxt )java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87

    val       
 (Long_Namebase_namefcT_name  Binding.qualify true eqN o Binding.name;
  in
           const_name  - ->HOLogicboolT  Free(x,fcT  (y" )java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
   #add_def
    #- | Syntax. lthyjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    #> snd
    #> `mk_free_ctr_equations   distinct_thms)
     val = roof_Context. P.theory_oflthy';
          [((qualify reflN         def   (. lthy )raw_def;
(,lthy'
    ;
          Code.declare_default_eqns_global ((thm, false) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  nd

fun add_ctr_code fcT_name raw_As      .ualifytrueLong_Nameb )o Bindingqualify eqN o .name;
let
    valAs=map(erhaps (try .)) raw_As;;
    val ctrs = map (java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 14
java.lang.StringIndexOutOfBoundsException: Range [18, 4) out of bounds for length 34
    val unover_ctrs =    # snd
  n
    if can (Code.constrset_of_consts thy)     #-> (fn (thms, thm) => Global_Theory.note_thmss
      thy
                  (qualify simpsN ]), [rev thms,[)]])
dedeclare_default_eqns_global (map (rpair true) (rev case_thms))
| Codedeclare_case_global (mk_case_certificate (Proof_Context.init_global thy) case_thms)
      funadd_ctr_code  fcT_name raw_As raw_ctrs inject_thms distinct_thms case_thms thy =
        ? add_equality java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 5
    lse
      thy
  end;

end;

Messung V0.5 in Prozent
C=88 H=95 G=91

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet am  2026-08-25) ¤

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

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002