J'ai écrit la fonction utilisée pour décomposer une fonction booléenne, le problème est que la compilation est la suivante: "Attention 5: cette application de fonction est partielle, peut-être que certains arguments manquent." Comment puis-je résoudre ce problème? Je l'ai mal réglé la mise en correspondance de bagout ou je ne peux pas exécuter cette opération avec un motif correspondant àProblème de correspondance de motif dans ocaml
Le code est le suivant:
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))