5
ブール関数を分解するための関数を書いたが、問題はコンパイル結果に「警告5:この関数のアプリケーションが部分的で、多少の引数がない」ということです。 この問題を解決するにはどうすればよいですか?ocamlのパターンマッチングに問題がある
let rec decomposition state_init state prec formula =
match formula with
And form -> (fun() ->
let f1 = List.hd form in
let f2 = And(List.tl form)in
let new_state = Forms (state_init,f1) in
decomposition state_init new_state state f1;
decomposition state_init new_state state f2;
Hashtbl.add graph new_state (("",false,state :: []) , []) ;
let x = Hashtbl.find graph state in
let succ = state :: snd x in
let (desc,last,ptrs) = fst x in
Hashtbl.replace graph state (("And-node",last,ptrs) , succ))