src/HOLCF/holcf_logic.ML
changeset 35426 c9b9d4fc270d
parent 32155 e2bf2f73b0c8
child 35548 6d3fa3a37822
equal deleted inserted replaced
35425:d4e747d3a874 35426:c9b9d4fc270d
    29 fun mk_TFree s = TFree ("'" ^ s, pcpoS);
    29 fun mk_TFree s = TFree ("'" ^ s, pcpoS);
    30 
    30 
    31 
    31 
    32 (* basic types *)
    32 (* basic types *)
    33 
    33 
    34 fun mk_btyp t (S,T) = Type (t,[S,T]);
    34 fun mk_btyp t (S, T) = Type (t, [S, T]);
    35 
    35 
    36 local
    36 val cfun_arrow = @{type_name "->"};
    37   val intern_type = Sign.intern_type @{theory};
       
    38   val u = intern_type "u";
       
    39 in
       
    40 
       
    41 val cfun_arrow = intern_type "->";
       
    42 val op ->> = mk_btyp cfun_arrow;
    37 val op ->> = mk_btyp cfun_arrow;
    43 val mk_ssumT = mk_btyp (intern_type "++");
    38 val mk_ssumT = mk_btyp (@{type_name "++"});
    44 val mk_sprodT = mk_btyp (intern_type "**");
    39 val mk_sprodT = mk_btyp (@{type_name "**"});
    45 fun mk_uT T = Type (u, [T]);
    40 fun mk_uT T = Type (@{type_name u}, [T]);
    46 val trT = Type (intern_type "tr" , []);
    41 val trT = @{typ tr};
    47 val oneT = Type (intern_type "one", []);
    42 val oneT = @{typ one};
    48 
    43 
    49 end;
    44 end;
    50 
       
    51 end;