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 ??!? *)