Answer to Question #7544 in Prolog for jerrycvem

Question #7544
The objective of this project is to build a Prolog program that can transform
Well-formed formulas (fbf) of a first order logical language to normal form (conjunctive
cnf or normal form).

To properly handle the existential variables we introduce a new rewrite rules,
Skolemizzazione said:

exist(X, p(X)) -> p(sk00042)

Note how sk00042 'and a constant and not variable. Note also that this operation 'and realt'a
pi'u complicated in the presence of variables universally quantified.

every(Y, exist(X, p(X, Y))) -> every(Y, p(sf666(Y), Y))

A variable existential can be replaced by a function (called Skolem) which is applied
variables pi'u universal "external".

You'll need the following code to manage the operation of Skolemization:

skolem_variable(V, SK) :- var(V), gensym(skv, SK).
skolem_function([], SF) :- skolem_var(_, SF).
skolem_function([A | ARGS], SF) :-
gensym(skf, SF_op),
SF =.. [SF_op, A | ARGS].
Expert's answer

Unfortunately, your question requires a lot of work and cannot be done for free.
Submit it with all requirements as an assignment to our control panel and we'll assist you.

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!


No comments. Be first!

Leave a comment

Ask Your question

New on Blog