Bob is green. Bob is white. Dave is red. Dave is smart. Fiona is rough. Fiona is smart. Gary is smart. If something is rough then it is red. If something is red then it is smart. Young, green things are rough. If something is young then it is big. If something is green then it is big. Smart things are big.
Bob is green.
("Bob" "is" "green" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If something is rough then it is red.
((("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
If something is red then it is smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
Young, green things are rough.
((("something" "is" "young" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
If something is young then it is big.
((("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is green then it is big.
((("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
Smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
Bob is green.
True
1
proof
[(triple1)]
("Bob" "is" "green" "+")
triple1
Fiona is not rough.
False
1
inv-proof
[(triple5)]
("Fiona" "is" "rough" "-")
triple5
Bob is big.
True
2
proof
[(((triple1) -> rule5))]
("Bob" "is" "big" "+")
((triple1) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Fiona is not red.
False
2
inv-proof
[(((triple5) -> rule1))]
("Fiona" "is" "red" "-")
((triple5) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "rough" "-")
Gary is red.
Unknown
rconc
[@2: Gary is red.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Gary" "is" "red" "+")
Gary is not green.
Unknown
inv-random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
@0: Bob is green.[(triple1)] Bob is white.[(triple2)] Dave is red.[(triple3)] Dave is smart.[(triple4 OR ((triple3) -> rule2))] Fiona is rough.[(triple5)] Fiona is smart.[(triple6 OR ((((triple5) -> rule1)) -> rule2))] Gary is smart.[(triple7)] @1: Bob is big.[(((triple1) -> rule5))] Dave is big.[(((triple4) -> rule6) OR ((((triple3) -> rule2)) -> rule6))] Fiona is big.[(((triple6) -> rule6) OR ((((((triple5) -> rule1)) -> rule2)) -> rule6))] Fiona is red.[(((triple5) -> rule1))] Gary is big.[(((triple7) -> rule6))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is white.
("Bob" "is" "white" "+")
triple2
Dave is red.
("Dave" "is" "red" "+")
triple3
Dave is smart.
("Dave" "is" "smart" "+")
triple4
((triple3) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Fiona is smart.
("Fiona" "is" "smart" "+")
triple6
((((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple7
Bob is big.
("Bob" "is" "big" "+")
((triple1) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple4) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((((triple3) -> (rule2 % int2))) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
((triple6) -> (rule6 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
((triple5) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple7) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1