Ideas for handling contradictions

0 views
Skip to first unread message

Bruce Long

unread,
Jul 24, 2011, 6:18:23 AM7/24/11
to Slipstream Proteus Developers
Hi folks,

Currently the engine detects contradictions but ignores them. If all
this were was a math program it would be OK to report the
contradiction and halt the calculation. But we're creating a UI so we
can't do that.

Ideas on how to handle them? What do programs like mathematica or Mat
Lab do?

A contradiction in Proteus means that there is a "false" infon
somewhere. e.g.: +4 = +8

Here are some options:
1. Print a message but take the "left side" as correct.

2. Create an "OR" situation where the information is symbolically
represented as one of the two values.

3. Halt the calculation.

4. Store an "error occurred" flag and trace it through the
calculation.

5. Later, it could track the sources of infons and analyze trust-
worthiness or record which sources create problems.

6. Assume it's all "true" and modify the assumptions. So for +4 = +8
we would assume that we must have a "mod 4' infon.

What scenarios might cause errors and are there better options that
would allow recovery?



BL

Davide Del Vento

unread,
Jul 24, 2011, 8:58:57 AM7/24/11
to slipstream-pro...@googlegroups.com
I think the ideally best way of managing this is:

0) print a warning about the contradiction. and that it's going to
evaluate both (the user might decide to stop if he or she understand
this better)

1) "split" the assumption in two:
a) first, assume the left hand is correct and proceed
b) when completed, assume the right hand is correct and proceed

2) print both results as possible, and that's going to investigate why
(the user might decide to stop if he or she understand this better)

3) backtrace to the source of the contradiction and print the results.

BTW, I haven't used MatLab, Mathematica or Maple recently, but if I
remember right, they just stop (by the way, if you are thinking just
to the symbolic inference part, not the numerical/imperative one,
there are engine out there that are open source and you may try).

Have a nice weekend,
Davide

Bruce Long

unread,
Jul 24, 2011, 5:13:19 PM7/24/11
to slipstream-pro...@googlegroups.com
Thanks Davide, I hadn't though of "do both non-symbolically" It would be useful for the user to see both results. Suppose I've told it to buy a product and the email ad says it's $50 but in the web-site says it's $55. We don't want it to submit the order with BOTH prices.

I wonder what the difference is between when we want do both (symbolically or not) vs. do left (or right) vs. do neither vs. halt.
--
Give me immortality or give me death!
Reply all
Reply to author
Forward
0 new messages