Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/Isabelle/HOL/Nonstandard_Analysis/   (Beweissystem Isabelle Version 2025-1©)  Datei vom 16.11.2025 mit Größe 75 kB image not shown  

Quelle  Conversions.thy   Sprache: Isabelle

 
(*  Title:      HOL/Decision_Procs/Conversions.thy
    Author:     Stefan Berghofer
*)


theory Conversions
imports Main
begin(.combination.reflexive. ct)) eqn)

ML \<open>
fun tactic_of_conv cv i st =
        (onv'(hm. )
java.lang.StringIndexOutOfBoundsException: Range [5, 3) out of bounds for length 6

fun binop_conv| '' ( ) (expand1_aexpand1_a
\<close>

ML
fun err norm1_eq_a oo f convend
   error (      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
\<close>

attribute_setup             [] [m,n] numeral_times_neg_numeral_a
  \<open>Scan.succeed (Thm.rule_attribute [] (K mk_meta_eq))\<close> (cong1( mult_num_convfunmult_neg_conv
  \<open>convert equality to meta equality\<close>_>conv

ML \<open>
fun strip_app ct

funnumeral_times_neg_numeral_a java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
  Thm.instantiate' (map SOME cTs in

fun transitive' eq eq' =     conv>fn

fun \<open>

fun cong1 conv ct =
  Thm.combination\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) => m n=(case( m, strip_app 

 cong1
  let val eqn = conv (Thm.dest_arg ct)
  in
    Thm.transitive
      (Thm.combination (Thm( ( mult_num_conv
      (conv       (
  end

fun cong2 conv1 conv2 ct|((\<^const_name>\<open>Num.One\<close>, []), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
  Thmcombination
    (Thm.combination
       (Thm.reflexive (Thm..Bit0\>[m],) <^const_name>\<open>Num.One\<close>, [])) =>
       (conv1 (Thm.dest_arg1 ct)))
    conv2.dest_arg ct

fun cong2' conv conv1 conv2 ct =
  let
    val (
    val eqn2 transitive
  in
Thm
(.(   )
         (Thm.combination (Thm(  | ((\<^const_name
         eqn2)
      (conv
  end;

fun cong2
  let val eqn3 = conv (Thm mult_conv(eq_num_conv
  in
    Thm.transitive
      (Thm.combination
         (Thm|(\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
         eqn2)
      eqn3 [] [ ]@thm(7) [meta
  end;

fun args1 conv ct = conv (Thm.dest_arg ct);
 conv = convdest_arg1 (.dest_arg;
\<close>

ML \<open>
fun strip_numeral ct = (case strip_app ct of    (<><>NumOne,[]),(^\<>Num\<close>, [])) =>
  \<onst_name\<close>, [n]) => (case strip_app n of
      (\<^const_name>\<open>numeral\<close>, [b]) => (\<^const_name>\<open>uminus\<close>, [b])|      hm
    |_=(,[)
  | x => x);
\<close>

lemma nat_minus1_eq: "nat (- 1) = 0"
  by simp

ML \<open>
fun nat_conv i =         (eq_num_conv \<java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
    (\<^const_name>\<open>zero_class.zero\<close>, []) => @{thm nat_0 [meta]}
java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
  | (\<^const_name>\<open>numeral\<close>, [b]) => inst [] [b] @{thm nat_numeral [meta]}
  | (\<^const_name>\<open>uminus\<close>, [b]) => (case strip_app b of
      (\<^const_name>\<open>one_class.one\<close>, []) => @{thm nat_minus1_eq [meta]}
    |(<const_name
\<close>

ML  |(\<java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
fun add_num_conv b b' = (case (strip_app b, strip_app b') of
name
      @{ add_num_simps) []}
  | (  |(\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) =>
      inst [] [n]      inst [] [n]  zero_neq_numeral }
  |          )
      transitive'
( [[ { 3 inst THEN]};
        (cong1 (args2 add_num_convval = inst] [] {thm numeral_eq_iff       [] m n@thm)[]}
  v  = expand1
      inst [] [m] @{thm add_num_simps(4) [meta]}
  | ((\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) =>m ]@{hm(8)[etafun conv m  (casestrip_app n) of
      transitive'
         Thm
        (cong1 (args2 add_num_conv))
\^>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
transitive
        (inst [] [m, n] @{\<close>
        (cong1 (args2 add_num_conv))
  | ((\<^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.One\<close>, [])) =>funinst]zero_neq_numeral_a
      transitive'
        (inst [] [m] @{thm add_num_simps(7) [meta]})
           (ong1args2 add_num_conv)

      transitive'
        (inst [] [m, n]@{thmadd_num_simps)[meta
        (cong1 (args2 add_num_conv))
  | ((\<^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
           zero_eq_zero_a =inst {  [of0  Eq_TrueI]java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
        (inst[,n { add_num_simpseta
        (cong1 (cong2' add_num_conv (args2 add_num_conv) Thm.reflexive)));
\<close>

ML \<open>
fun BitM_conv m = (case strip_app m of
    (\<^const_name>\<open>Num.One\<close>, []) => @{thm BitM.simps(1) [meta]}
  | (\<^const_name>\<open>Num.Bit0\<close>, [n]) =>
      transitive'
        (inst [] [n] @{thm BitM.simps(2) [            =inst][@thm meta
        (cong1( BitM_conv))
  | (\<^const_name>\<open>Num.Bit1\<close>, [n]) =>
      inst [] [n]@thm
\<close>

lemma:
  "Num.dbl (- Num.numeral k) = - Num.numeral (Num.Bit0 k)"
  by simp

ML \<open>
fun dbl_conv a =
  let
    val dbl_neg_numeral_a = instjava.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 0
    instzero_neq_numeral_a
    val dbl_numeral_a = inst
  in
    fn n =>
      case strip_numeral n of
java.lang.StringIndexOutOfBoundsException: Range [40, 8) out of bounds for length 69
      (fun a =
      |java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
  end.transitive
\<close>

lemma  zero_neq_neg_numeral_a
umnk=numeral)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
   java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

ML \<open>
onv       a ]{hm [THEN]};
  let
    val dbl_inc_neg_numeral_a =    val     conv
    val dbl_inc_0_a =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    val = inst a  {dbl_inc_simps];
  in
    fn n =>
      \<close>
        (\<^const_name>\<open>zero_class.zero\<close>, []) => dbl_inc_0_a
      | (\<^const_name>\<open>numeral\<close>, [k]) => inst [] [k] dbl_inc_numeral_a
      | (\<^const_name>\<open>uminus\<close>, [k]) =>
e
            (inst [] [k] dbl_inc_neg_numeral_a)
            (cong1(cong1 (args1)))
;
\<close>

lemma dbl_dec_neg_numeral:
  "Numbl_dec (Numnmeralk=-Num.umeral (.Bit1 k)"
  by simp

ML       inst [a] [] @{thm neg_numeral_neq_zero [THEN Eq_FalseI]};m]neg_numeral_neq_zero_a
fun zero_neq_neg_numeral_ajava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
  let
    val dbl_dec_neg_numeral_a = inst           instn zero_neq_neg_numeral_a
    val dbl_dec_0_a = inst [a      (inst {neg_numeral_neq_numeral Eq_FalseI;
    val dbl_dec_numeral_a = inst [a] [] @{thm dbl_dec_simps(5) [meta]};
  ininst[,n 
    fn n =>
      case n of
        (\<^const_name>\<open>zero_class.zero\<close>, []) => dbl_dec_0_a
      | \<const_name
      | (\<^const_name>\<open>numeral\<close>, [k]) =>
          transitive
            (inst [] [k] dbl_dec_numeral_a
            (cong1 (args1 BitM_conv|((<   => fn  fn 
  end;
\<close>

ML \<open>
fun sub_conv a =
  let
    val, sub_One_Bit0,
         sub_Bit0_Oneinst [] [,n )
         , sub_Bit1_Bit0] =
      map inst[)@{thms sub_num_simps]};
    val dbl_conv_adbl_conv
    val dbl_inc_conv_a = dbl_inc_conv a;
    val|_= conv

    fun conv m       
        ((\<^const_name>\<open>Num.One\<close>, []), (\<^const_name>\<open>Num.One\<close>, [])) =>
          sub_One_One
      |  eq_conv=eq_conva)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
          transitive'
            (inst val = eq_conv \<^ctyp>\<open>int\<close>;
            (cong1 (cong1 (args1 BitM_conv)))
      | ((\<^const_name>\<open>Num.One\<close>, []), (\<^const_name>\<open>Num.Bit1\<close>, [l])) =>
          inst [ l sub_One_Bit1
      | ((\<^const_name>\<open>Num.Bit0\<close>, [k]), (\<^const_name>\<open>Num.One\<close>, [])) =>
          transitive
            (inst  n
            (cong1 (args1 BitM_conv))
      | ((\<^const_name>\<open>Num.Bit1\<close>, [k]), (\<^const_name>\<open>Num.One\<close>, [])) =>
          instfun eq_conv  =eq_conv )a;
      | ((\<^const_name>\<open>Num.Bit0\<close>, [k]), (\<^const_name>\<open>Num.Bit0\<close>, [l])) =>
'
( [] [k l sub_Bit0_Bit0
            (cong1' dbl_conv_a (args2 conv))
\<close>
          transitive'
            (inst [] [k, l]ML
            (cong1' dbl_dec_conv_a funle_num_conv m = ( (strip_app m,strip_app n) of
      |(\<    \<const_name\<open.One\<close>, []), _) =>
transitive'
            (inst [] [k, l] sub_Bit1_Bit0|((<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.One\<close>, [])) =>
            (cong1' dbl_inc_conv_a (args2 conv))
      |((<const_name
      inst ] m { le_num_simps]}
            (inst [] [k, l] sub_Bit1_Bit1   (
            (cong1le_num_convjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
  in conv end;
\<close>

ML \<open>
fun expand1 a =
  let val         ( m n)
  in
    fn
      casemn)
        \<^Const_>\<open>one_class.one _\<close> => numeral_1_eq_1_a
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
          Thm.combination (Thm.reflexive (Thm.dest_fun n)) numeral_1_eq_1_a
 
      | \<^Const_>\<open>numeral _ for _\<close> => Thm.reflexive n
      | \<^Const_>\<open>uminus _ for \<^Const_>\<open>numeral _ for _\<close>\<close> => Thm.reflexive n [[, { le_num_simps (less_num_conv)
|_= and n=((java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 59
  end;

fun norm1_eq a =
  let val       [ m]@thm(1 [meta
  in
    fn eq =>
      case Thm.term_of (Thm.rhs_of [] []@thm
 \<^Const_>\<open>Num.One\<close>\<close> => Thm.transitive eq numeral_1_eq_1_a
      | \<^Const_>\<open>uminus _ for \<^Const_>\<open>Num.numeral _ for \<^Const_>\<open>Num.One\<close>\<close>\<close> => [] [n @thm(3) [meta
            Thm.transitive eq
              .combination.reflexive.dest_fun.rhs_of         [] [m, n { less_num_simps4)[]})
                 numeral_1_eq_1_a)
      | [ [n @ (2) meta
nd;
\<close>

ML
fun plus_conv f a =
  let
    val add_0_a = inst [a] [] @{thm add_0         e_num_convjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 25
val =inst [@thm[]};
    val numeral_plus_numeral_a = inst [a] [] @{thm numeral_plus_numeral [meta]};
    val = expand1a;

    fun conv m n = (case (strip_app m, strip_app n) of
        ((\<^const_name>\<open>zero_class.zero\<close>, []), _) => inst [] [n] add_0_a
      | (_, (\<^const_name>\<open>zero_class.zero\<close>, [])) => inst [] [m] add_0_right_a n]@thm(5) [meta
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>
          transitive'
            (inst\<close>
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
      |  | ((\<fun
 end;

val nat_plus_conv = plus_conv I \<^ctyp>\<open>nat\<close>;
\<close>

lemma neg_numeral_plus_neg_numeral:
  -Numconv;
  by simp

MLinst][ { zero_le_numeraljava.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 0
fun plus_neg_conv  f a =
  let
vallet
      inst [a] [] @{thm add_neg_numeral_simps(1) [meta]};    valzero_le_zero_a insta]] {thmorder_refl 0 Eq_TrueI]    valnumeral_le_iff_a [ [@ numeral_le_iff;
    val neg_numeral_plus_numeral_a =
 inst ]{thm(2 []};
    val neg_numeral_plus_neg_numeral_a =
      inst [a] []        (<^const_name>\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>zero_class.zero\<close>, [])) => [] [ @{thm zero_le_numeral
    val = sub_conv not_numeral_le_zero_a
  in
    fn conv => fn m => fn n => 
      (strip_numeral       [a] [] @hmnot_numeral_le_zeroTHEN]};
        ((    val numeral_le_iff_a = inst [a] [] @{thm numeral_le_iff [meta]};
          .transitive
            (inst [] [m, n] numeral_plus_neg_numeral_a)
            (sub_conv_a
 \<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>Num.numeral\<close>, [n])) =>
          Thm.transitive
            (inst(java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115
            (sub_conv_a n m)
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) =>  )
          transitive'
            (inst [] [m, n]            [] [n]zero_le_numeral_a
            (cong1 (cong1 (args2 add_num_conv)))
      | _=>conv
  end;

fun plus_conv' a = norm1_eq a plus_conv (plus_neg_conv a a;

val int_plus_conv = plus_conv   f conv end
\<close>

 minus_one       <ctyp
lemma minus_numeral: "- java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 8

ML \<open>
fun uminus_convin  conv ;
  let
    val minus_zero_ainsta ]@thm [THEN Eq_TrueI]};
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      insta][@thm [ Eq_FalseI;
    val minus_minus_a = inst [a] [] \<close>
  in
    fn n =>
      casestrip_app
        (\<^const_name>\<open>zero_class.zero\<close>, []) => minus_zero_a
      | (\<^const_name>\<open>one_class.one\<close>, []) => minus_one_a not_numeral_le_neg_numeral_a
|(\<^const_name>\<open>Num.numeral\<close>, [m]) => inst [] [m] minus_numeral_a  =
      | (\<^const_name>\<open>uminus\<close>, [m]) => inst [] [m] minus_minus_a [a] [ thmTHEN];
  end;

al = uminus_conv
\<close>

ML \<open>
fun minus_conv
  let
    val[, numeral_minus_neg_numeral_a(^const_name>\<close>, [] \^>><open>zero_class.zero\<close>, [])) =>
         neg_numeral_minus_numeral_a, neg_numeral_minus_neg_numeral_a]inst]@thm [THEN]};
       (inst @thms []};
    val = inst[]@thm [meta [a] [{ not_numeral_le_neg_numeral[HEN]};
    val diff_0_right_a = inst neg_numeral_le_iff_a = inst
    val sub_conv_a    fn conv  m =fn
    val uminus_conv_a = uminus_conv a;
    val = expand1a;
    val norm1_eq_a = norm1_eq a;

    fun conv m n = case (strip_numeral,strip_numeral
        ((\<^const_name>\<open>zero_class.zero\<close>, []), _) =>
          Thm.transitive (inst [] [n] diff_0_a) (uminus_conv_a n)                 inst[n] ot_zero_le_neg_numeral_a
      | (_, (\<^const_name>\<open>zero_class.zero\<close>, [])) => inst [] [m] diff_0_right_ainst m, ]not_numeral_le_neg_numeral_a
java.lang.StringIndexOutOfBoundsException: Index 109 out of bounds for length 109
          Thm.transitive
            (inst [] [m, n] numeral_minus_numeral_a)
            (sub_conv_a m n)
      | ((\<^const_name>\<open>Num.numeral\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) =>.
          transitive neg_numeral_le_iff_a)
            inst [            (e_num_conv
            (cong1 (args2))
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>Num.numeral\<close>, [n])) =>
          transitivefun le_conva =le_conv
            (inst [] [m, n] neg_numeral_minus_numeral_a
            (cong1 le_conv le_conva aval =le_convjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) =>
          Thm.transitive
<close
            (sub_conv_a n m)
      | _ => cong2'' conv (expand1_a m) (expand1_a n))
  inoo end;

valless_conva =
\<close>

ML [][ { zero_less_numeral    not_zero_less_zero_a]]{ [ 0  Eq_FalseI
 zero_less_numeral_a

  = Thma ]@ not_numeral_less_zero]};

    \<^ctyp>\<open>nat\<close>;

fun m n = (case (strip_app = expand1
    ((\<^const_name>\<open>zero_class.zero\<close>, []), _) =>
      inst[] @thm [meta]}
  | (_,     numeral_less_iff_a inst [a][]@{thm [meta]}
      inst [] [m]    val expand1_a = expand1 a;
  | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>
      transitive'
        (f conv n  ( (strip_app||(^><>zero_class.\<close, [) \<^const_name>\<open>numeral\<close>, [n])) =>
        (cong1 (args2        (<^const_name>\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
  | _ =>      |(\<^>\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>numeral\<close>, [n])) =>
\<close>

ML \<open>
fun mult_num_convm n=(casestrip_appstrip_app            ( [ [, nnumeral_less_iff_a
    (_, (\<^const_name>\<open>Num.One\<close>, [])) =>
      inst  =| (<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>
   (\<java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   (<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) =>
      transitive'
        (nst <close>
        (cong1 (cong1
  | ((\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n'])) =>
      transitive
        (nst m ' { mult_num_simps(4 [meta]})
        ( (args2))
  | (  let
      transitive'
        (inst []  =
        (cong1 mult_num_conv)
  | ((\<^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>][ { neg_numeral_less_zerojava.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
      transitive'
        (inst [] [m,        [a]funa=
        ( (cong2 
           (args2 add_num_conv)
           (cong1 (args2 mult_num_conv)))))       [a][@thm Eq_TrueI
\<close>

ML
fun mult_conv f a =
let
    val mult_zero_left_a
    val mult_zero_right_a = inst [a convm> n => 
  = [a][@hm];
    val expand1_a = expand1 [a]         \<
    val norm1_eq_a = norm1_eq a;

    fun  n =(ase m,strip_appjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        ((\<^const_name>\<open>zero_class.zero\<close>, []), _) => inst [] [n] mult_zero_left_a
      | (_, (\<^const_name>\<open>zero_class.zero\<close>, [])) => inst [] [m] mult_zero_right_a
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>
          transitive'
            (inst [] [m, n] numeral_times_numeral_a)
            (cong1 (args2 mult_num_conv))
      | _ => cong2'' (f conv) (expand1_a m) (expand1_a n))
  in      (<onst_nameuminus

 nat_mult_conv mult_conv\<^ctyp>\<open>nat\<close>;
\<close>

ML| inst [ [ n]neg_numeral_less_numeral_a
fun mult_neg_conv a =
  let
    val [neg_numeral_times_neg_numeral_a, neg_numeral_times_numeral_aThm
         numeral_times_neg_numeral_a] =
      map (inst [a] []) @{thms mult_neg_numeral_simps [meta]}fun' a = less_conv (ess_neg_convajava.lang.StringIndexOutOfBoundsException: Range [45, 31) out of bounds for length 31
  in
fn =  m =>val '\<^ctyp>\int\;
      case (strip_numeral
 int_less_conv
  
            (inst [] [m, n] neg_numeral_times_neg_numeral_a if_Trueinst
            (cong1    al = inst[] [@thm [metajava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>
          transitive
            (inst [] [m, n] neg_numeral_times_numeral_a)
 (cong1 (cong1 mult_num_conv)
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) =>
          transitive
            (inst     p => fn>fn  ct>
            (cong1 (cong1 (args2      casestrip_app of
       _= conv
  end;

fun mult_conv' a = mult_conv (mult_neg_conv a) a;

val int_mult_convin
\<close>

ML             case Thm.term_of (Thm.rhs_of p_eq) of
fun eq_num_conv m n = (case (strip_app m, strip_app n) of
    ((\<^const_name>\<open>Num.One\<close>, []), (\<^const_name>\<open>Num.One\<close>, [])) =>
      @let
  ;
       ]n@ (2) meta
  | ((\<^const_name>\<open>Num.One\<close>, []), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
      inst [.transitive
  | ((\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.One\<close>, [])) =>(Thmcombination
      inst                       .combination x_eq
  |((^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.One\<close>, [])) =>
      inst [] [m] @{thm eq_num_simps(5) [meta]}
  |(\<
      Thm
        (inst [] [m, n] @{thm eq_num_simps(6) [meta]})
        (eq_num_conv
  | ((\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
       [] [m, n] @thm(7)]}
  | ((\<^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) =>
      inst][,]@thm(8 []}
  | ((\<^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
    .transitive
        (inst [] [m, n] @{thm eq_num_simps(9) [meta]})
        eq_num_conv n));
\<close>

ML \<open>
fun eq_conv f a =
  let
    val zero_eq_zero_a = inst [a] [] @{thm
    val =
      inst[@thm[ Eq_FalseI
    val numeral_neq_zero_a =
inst@  [ Eq_FalseI
    val                       y_eq
val

 
        ((\<^const_name>\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
a
      | ((\<^const_name>\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>numeral\<close>, [n])) =>
          inst;
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
          inst []java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>
          Thm.transitive
            (inst [] [m,      drop_0_a = inst drop_0_a [] ] @thmmeta
     (eq_num_conv m njava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
      | _ =cong2f conv m expand1_a
  in f conv end;

val n  = (caseThm of
\<close>

ML \<open>
fun eq_neg_conv a =
  let
    val =
      inst [a] [] @{thm neg_numeral_neq_zero [THEN          (<^          ^const_name
    val zero_neq_neg_numeral_a =
      instinst[, x, ]               inst] ,x, xs)
    val =
      inst [][ @thm [THEN Eq_FalseI]};
    valnumeral_neq_neg_numeral_a
      inst [a
    val neg_numeral_eq_iff_a inst.eflexive
  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    fn => fn m =  in conv;
      java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
        ((<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
          inst [] [m]java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      ML
          \<close>
    s^ " Syntaxstring_of_term_globalThmct Thm. ctt)java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
          inst
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>Num.numeral\<close>, [n])) =>
          inst m n neg_numeral_neq_numeral_afunstrip_app = ct|> Drule.strip_comb>>Thm |>> dest_Const_name
|(\<const_name
          Thmfuntransitiveeq  .transitive eqThmeq
            (inst [] [m, n] neg_numeral_eq_iff_a)
            (eq_num_conv m n)
      |_ =               .reflexive
  end;

funeq_conv  =eq_conv a a;

val int_eq_conv = eq_conv  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
            (inst [] [x, xs, n] nth_Cons_a)

ML\<open>            (( nat_eq_conv
fun               Thm
    ((\<^const_name>\<open>Num.One\<close>, []), _) =>
       ] [ (ThmThmct
  | ((\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.One\<close>, [])) => (Thm ct));
      inst [m] @{thm[m]@{thm(2) [meta
>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.One\<close>, [])) =>
      inst [] [m] @{         )
   (\^>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) =>
      Thm  (.rhs_of(.rhs_of)
        inst,n { le_num_simps)[meta
        (le_num_conv m n)         (hm (Thmreflexive.dest_fun2(Thm eqn3))eqn1
  | (\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
      Thm.java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        (inst [] [m, n      (\<^const_name>\<open>numeral\<close>, [b]) => (\<^const_name>\<open>uminus\<close>, [b])
( m )
  (java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
      Thm.transitive
        (inst [] [m, n] @{thm   | (\<^const_name>\<open>one_class.one>, [) = @thm [meta,symmetric
        (le_num_convnjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
  | ((\<^const_name>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) =>
      >
        inst[, ]@thm(7)meta
        (less_num_conv  n))

and m n = (case strip_appstrip_app n) of
    (_, (\<^const_name>\<open>Num.One\<close>, [])) =>
      inst][]@thm(1) [meta
|(\<^const_name
      inst [] [n] @{thm less_num_simpstransitive
  | (\<^onst_name
      inst [] [n] @{thm less_num_simps(3) [meta]}
  | (        (cong1 (args2add_num_conv
      Thm.transitive
       instm,n]@thm(4) [meta}java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        (less_num_convjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 17
  | ((\<^const_name>\<open>Num.Bit0\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
      Thm.transitive
        (inst [][m, n] {thm(5) [meta}java.lang.StringIndexOutOfBoundsException: Range [56, 57) out of bounds for length 56
( m n)
  | (
      Thm.transitivejava.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
        (        cong1 ))
        (less_num_conv m n)
>\<open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit0\<close>, [n])) => (args2))
      Thm.transitive
        ( [] [m,n]@{thm less_num_simps [meta
        (less_num_conv m ))
\<close>

ML \<open>
fun le_conv f a =
  let
    val = inst [a] [ @{thmorder_refl 0, THEN]};
    val zero_le_numeral_a =
inst BitM([]})
 not_numeral_le_zero_a
      inst [a]        [] thm.(3) []})
  inst@ []java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
     expand1_a a

    fun conv m n = (case (strip_app m     dbl_0_ainst]@thm(2) meta
        ((\<^const_name>\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
          zero_le_zero_a
      | (\<
          inst [] [n] zero_le_numeral_a
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
           [][ 
      | ((\<^const_name>\<open>numeral\<close>, [m]), (\<^const_name>\<open>numeral\<close>, [n])) =>java.lang.NullPointerException
          Thm.transitive
            instm,n])
            ( m n)
 _= ' fconv)(m expand1_an)
  in f conv end;

val nat_le_conv = |(<^const_name>\<open>numeral\<close>, [k]) => inst [] [k] dbl_inc_numeral_a
\<close>

ML \<open>
 le_neg_conv
  let
    val neg_numeral_le_zero_a   .numeral(Num.Bit1)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
umeral_le_zero [THENEq_TrueIjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
    val =
      inst dbl_dec_numeral_a [a] [ { dbl_dec_simps[]};
val =
      inst[@thm [THEN Eq_TrueI
    val not_numeral_le_neg_numeral_a =
      inst [a][] { not_numeral_le_neg_numeral ]};
    val neg_numeral_le_iff_a|(\<^const_name>\<open>numeral\<close>, [k]) =>
  in
    fn conv => fn m => fn n => 
      case (strip_numeral(cong1args1))
        (
           [][m]neg_numeral_le_zero_a
       ((<const_name\<open>zero_class.zero\<close>, []), (\<^const_name>\<open>uminus\<close>, [n])) =>
          inst [] [n]          sub_Bit0_Bit1, sub_Bit1_Bit0, java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
      |java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          instm n 
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>Num.numeral\<close>, [n])) =>
          inst)
| ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) =>
          Thm. java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
            (inst [] [m, n] neg_numeral_le_iff_a)
            (le_num_conv
      | _ => conv m n
  end;

 le_conv a=le_conv a)a;

val  = ' \<^ctyp>\int\;
\<close>

 \<open>
fun less_conv'
  let
    val |\^>\<open>Num.Bit0\<close>, [k]), (\<^const_name>\<open>Num.Bit1\<close>, [l])) =>
    val             (cong1' dbl_dec (args2))
      inst [a] [] @{thm zero_less_numeral [THEN'
zero_a
i [[]@{ [ Eq_FalseI
 numeral_less_iff_a  [a][ { numeral_less_iff]};
    val expand1_a( [][,l )

    fun conv m n = (case (strip_app m, strip_app n) of
        ( <>
          not_zero_less_zero_a
|(<const_name\<>zero_class\<close>, []), (\<^const_name>\<open>numeral\<close>, [n])) =>
            .term_of
      | (
          inst [] [m] not_numeral_less_zero_a
       (
          Thm.transitivejava.lang.NullPointerException
            (inst [] [m, n] numeral_less_iff_a)
            (less_num_conv m n)
      | _ => cong2'' (f conv) (expand1_a
  in f conv val = insta][ { numeral_One]}

valcaseThm (Thmrhs_ofof
\<close>

ML \<open>
fun less_neg_conv a =
  let
    val neg_numeral_less_zero_a
      inst [a] [] @{thm neg_numeral_less_zero       _eq
    val not_zero_less_neg_numeral_a =
      inst\<close>
  f ajava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
 [][ @thm [THEN]};
     not_numeral_less_neg_numeral_a
      insta [{ not_numeral_less_neg_numeralTHEN]};
    valfun m n = (case strip_app n) of
  in
    fn conv => fn m => fn n => 
      case (strip_numeral m, strip_numeral n) oftransitive
        \<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>zero_class.zero\<close>, [])) =>
g_numeral_less_zero_a
      (java.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107
          inst java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      | ((\<^const_name>\<open>Num.numeral\<close>, [m]), (\<^const_name>\<open>uminus\<close>, [n])) =>\<close>
           ][m, ]not_numeral_less_neg_numeral_a
      | ((\<^const_name>\<open>uminus\<close>, [m]), (\<^const_name>\<open>Num.numeral\<close>, [n])) =>
 [] [m  neg_numeral_less_numeral_a
      | (java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
          Thm.transitive neg_numeral_plus_numeral_a
            (inst [] [m, n] neg_numeral_less_iff_a)
(less_num_conv
      | _=  m n
  end;

funless_conv less_neg_conv

val int_less_conv = less_conv' \<^ctyp>\int\;
\<close>

ML \<open>
fun If_conv  =
  let
    val if_True = inst.transitive
     if_Falseinst[ { if_Falsemeta]}
  in
 p > x => y =>  ct
      case strip_app ctneg_numeral_plus_neg_numeral_a)
        
          let
              ;
            val eq = Thm.
          in
case.term_of.rhs_of) of
\^>\<open>True\<close> =>
                
                   x_eq;
                  val cx = Thm.rhs_ofval = ]]@thm [meta
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
                  .

                       (Thm \<^const_name>\<open>uminus\<close>, [m]) => inst [] [m] minus_minus_a
                       (Thm.reflexive cy))
                    (inst [] [funminus_conv
                
            |
let
val ;
val =.rhs_of
in
                  .transitive
                Thm.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
                       (Thm.combination eq (Thm.reflexive cx))
y_eq
                     ,\<^const_name>\<open>zero_class.zero\<close>, [])) => inst [] [m] diff_0_right_a
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
|_ => err(Thm p_eq
          end
  end;
\<close>

            cong1 ( add_num_conv
fun drop_conv a =
  let
    val drop_0_a = inst [a] [] @{thm (cong1 add_num_conv
    val drop_Cons_a = inst [a]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    '' (expand1_aexpand1_a

     int_minus_conv \<^ctyp>\<open>int\<close>;
java.lang.NullPointerException
      | _ => (case strip_app
          (\<^const_name>\<open>Cons\<close>, [x, xs]) =>
transitivejava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
              (inst       [] [n @thm [meta
              ( ( nat_eq_conv
                 Thm.reflexive
(' conv (args2 nat_minus_conv) .java.lang.StringIndexOutOfBoundsException: Range [70, 66) out of bounds for length 70
  in conv end;
\<close>

ML
 nth_conva java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
  let
val =inst]@thm' meta}java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    val If_conv_a|(^const_name

     conv n=(ase ys
        ( (cong1 mult_num_conv
          transitive'
            (inst [] []@thmmeta
            (If_conv_ajava.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
               Thm.reflexive
               (cong2 (<const_name>open>Num.Bit1\<close>, [m]), (\<^const_name>\<open>Num.Bit1\<close>, [n])) =>
  in conv end;
\<close>

end

100%


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

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