+
+let _ =
+ DisambiguateChoices.add_num_choice
+ ("natural number",
+ (fun _ num _ -> HelmLibraryObjects.build_nat (int_of_string num)));
+ DisambiguateChoices.add_num_choice
+ ("real number",
+ (fun _ num _ -> HelmLibraryObjects.build_real (int_of_string num)));
+ DisambiguateChoices.add_symbol_choice "plus"
+ ("natural plus",
+ (fun env _ args ->
+ let t1, t2 =
+ match args with
+ | [t1; t2] -> t1, t2
+ | _ -> raise DisambiguateChoices.Invalid_choice
+ in
+ Cic.Appl [ HelmLibraryObjects.Peano.plus; t1; t2 ]));
+ DisambiguateChoices.add_symbol_choice "plus"
+ ("real plus",
+ (fun env _ args ->
+ let t1, t2 =
+ match args with
+ | [t1; t2] -> t1, t2
+ | _ -> raise DisambiguateChoices.Invalid_choice
+ in
+ Cic.Appl [ HelmLibraryObjects.Reals.rplus; t1; t2 ]));
+