src/HOL/hologic.ML
changeset 8275 32387a2c7749
parent 8100 6186ee807f2e
child 8302 da404f79c1fc
equal deleted inserted replaced
8274:0d8fa545bd5c 8275:32387a2c7749
     8 signature HOLOGIC =
     8 signature HOLOGIC =
     9 sig
     9 sig
    10   val termC: class
    10   val termC: class
    11   val termS: sort
    11   val termS: sort
    12   val termT: typ
    12   val termT: typ
       
    13   val boolN: string
    13   val boolT: typ
    14   val boolT: typ
    14   val false_const: term
    15   val false_const: term
    15   val true_const: term
    16   val true_const: term
    16   val mk_setT: typ -> typ
    17   val mk_setT: typ -> typ
    17   val dest_setT: typ -> typ
    18   val dest_setT: typ -> typ
    78 val termT = TypeInfer.anyT termS;
    79 val termT = TypeInfer.anyT termS;
    79 
    80 
    80 
    81 
    81 (* bool and set *)
    82 (* bool and set *)
    82 
    83 
    83 val boolT = Type ("bool", []);
    84 val boolN = "bool";
       
    85 val boolT = Type (boolN, []);
    84 
    86 
    85 val true_const =  Const ("True", boolT)
    87 val true_const =  Const ("True", boolT)
    86 and false_const = Const ("False", boolT);
    88 and false_const = Const ("False", boolT);
    87 
    89 
    88 fun mk_setT T = Type ("set", [T]);
    90 fun mk_setT T = Type ("set", [T]);
    89 
    91 
    90 fun dest_setT (Type ("set", [T])) = T
    92 fun dest_setT (Type ("set", [T])) = T
    91   | dest_setT T = raise TYPE ("dest_setT: set type expected", [T], []);
    93   | dest_setT T = raise TYPE ("dest_setT: set type expected", [T], []);
       
    94 
    92 
    95 
    93 (* logic *)
    96 (* logic *)
    94 
    97 
    95 val Trueprop = Const ("Trueprop", boolT --> propT);
    98 val Trueprop = Const ("Trueprop", boolT --> propT);
    96 
    99