Structure numTheory


Source File Identifier index Theory binding index

signature numTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val IS_NUM_REP : thm
    val SUC_DEF : thm
    val SUC_REP_DEF : thm
    val ZERO_DEF : thm
    val ZERO_REP_DEF : thm
    val num_ISO_DEF : thm
    val num_TY_DEF : thm
  
  (*  Theorems  *)
    val INDUCTION : thm
    val INV_SUC : thm
    val NOT_SUC : thm
  
  val num_grammars : type_grammar.grammar * term_grammar.grammar
(*
   [marker] Parent theory of "num"
   
   [IS_NUM_REP]  Definition
      
      |- !m. IS_NUM_REP m = !P. P ZERO_REP /\ (!n. P n ==> P (SUC_REP n)) ==> P m
   
   [SUC_DEF]  Definition
      
      |- !m. SUC m = ABS_num (SUC_REP (REP_num m))
   
   [SUC_REP_DEF]  Definition
      
      |- ONE_ONE SUC_REP /\ ~ONTO SUC_REP
   
   [ZERO_DEF]  Definition
      
      |- 0 = ABS_num ZERO_REP
   
   [ZERO_REP_DEF]  Definition
      
      |- !y. ~(ZERO_REP = SUC_REP y)
   
   [num_ISO_DEF]  Definition
      
      |- (!a. ABS_num (REP_num a) = a) /\
         !r. IS_NUM_REP r = (REP_num (ABS_num r) = r)
   
   [num_TY_DEF]  Definition
      
      |- ?rep. TYPE_DEFINITION IS_NUM_REP rep
   
   [INDUCTION]  Theorem
      
      |- !P. P 0 /\ (!n. P n ==> P (SUC n)) ==> !n. P n
   
   [INV_SUC]  Theorem
      
      |- !m n. (SUC m = SUC n) ==> (m = n)
   
   [NOT_SUC]  Theorem
      
      |- !n. ~(SUC n = 0)
   
   
*)
end


Source File Identifier index Theory binding index


HOL 4,   Kananaskis-3