src/Tools/isac/Specify/Input_Descript.thy
changeset 60373 9e906a2b3496
parent 60360 49680d595342
child 60460 d282b5f5e5a4
     1.1 --- a/src/Tools/isac/Specify/Input_Descript.thy	Sat Aug 14 16:07:07 2021 +0200
     1.2 +++ b/src/Tools/isac/Specify/Input_Descript.thy	Sat Aug 14 16:37:31 2021 +0200
     1.3 @@ -95,27 +95,27 @@
     1.4  type descriptor = Model_Pattern.descriptor;
     1.5  
     1.6  (* distinguish input to Model (deep embedding of terms as Isac's object language) *)
     1.7 -fun for_real_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type (\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>real\<close>, [])]), _]))) = true
     1.8 -  | for_real_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type (\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>real\<close>, [])]),_])) $ _) = true
     1.9 +fun for_real_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type(\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>real\<close>, [])]), _]))) = true
    1.10 +  | for_real_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type(\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>real\<close>, [])]),_])) $ _) = true
    1.11    | for_real_list _ = false;
    1.12 -fun for_bool_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type (\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>bool\<close>, [])]), _]))) = true
    1.13 -  | for_bool_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type (\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>bool\<close>, [])]),_])) $ _) = true
    1.14 +fun for_bool_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type(\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>bool\<close>, [])]), _]))) = true
    1.15 +  | for_bool_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type(\<^type_name>\<open>list\<close>, [Type (\<^type_name>\<open>bool\<close>, [])]),_])) $ _) = true
    1.16    | for_bool_list _ = false;
    1.17  fun for_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type(\<^type_name>\<open>list\<close>, _), _]))) = true
    1.18    | for_list (Const (_, Type(\<^type_name>\<open>fun\<close>, [Type(\<^type_name>\<open>list\<close>, _), _])) $ _) = true
    1.19    (*WN:8.5.03: ???   TODO test/../scrtools.sml                ~~~~ ???*)
    1.20    | for_list _ = false;
    1.21 -fun for_fun (Const (_, Type(\<^type_name>\<open>fun\<close>, [_, Type("Input_Descript.unl", _)]))) = true
    1.22 +fun for_fun (Const (_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>unl\<close>, _)]))) = true
    1.23    | for_fun _ = false;
    1.24 -fun is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.nam",_)]))) = true
    1.25 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.una",_)]))) = true
    1.26 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.unl",_)]))) = true
    1.27 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.str",_)]))) = true
    1.28 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.toreal",_)]))) = true
    1.29 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.toreall",_)])))= true
    1.30 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.tobooll",_)])))= true
    1.31 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.unknow",_)])))= true
    1.32 -  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type ("Input_Descript.cpy",_)])))= true
    1.33 +fun is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>nam\<close>, _)]))) = true
    1.34 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>una\<close>, _)]))) = true
    1.35 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>unl\<close>, _)]))) = true
    1.36 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>str\<close>, _)]))) = true
    1.37 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>toreal\<close>, _)]))) = true
    1.38 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>toreall\<close>, _)])))= true
    1.39 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>tobooll\<close>, _)])))= true
    1.40 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>unknow\<close>, _)])))= true
    1.41 +  | is_a (Const(_, Type(\<^type_name>\<open>fun\<close>, [_, Type(\<^type_name>\<open>cpy\<close>, _)])))= true
    1.42    | is_a _ = false;
    1.43  
    1.44  (* special handling for lists. ?WN:14.5.03 ??!? *)