Bob is young. Fiona is white. Gary is smart. Rough, young people are smart. All blue people are red. If Bob is blue then Bob is rough. If someone is young and smart then they are blue. If someone is white then they are young. If someone is white and big then they are rough. Young people are rough. If someone is white and rough then they are young.
Bob is young.
("Bob" "is" "young" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Rough, young people are smart.
((("someone" "is" "rough" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
All blue people are red.
((("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
If Bob is blue then Bob is rough.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "rough" "+"))
If someone is young and smart then they are blue.
((("someone" "is" "young" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
If someone is white then they are young.
((("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
If someone is white and big then they are rough.
((("someone" "is" "white" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "rough" "+"))
Young people are rough.
((("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
If someone is white and rough then they are young.
((("someone" "is" "white" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
Gary is smart.
True
1
proof
[(triple3)]
("Gary" "is" "smart" "+")
triple3
Bob is not young.
False
1
inv-proof
[(triple1)]
("Bob" "is" "young" "-")
triple1
Fiona is young.
True
2
proof
[(((triple2) -> rule5))]
("Fiona" "is" "young" "+")
((triple2) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Bob is not rough.
False
2
inv-proof
[(((triple1) -> rule7))]
("Bob" "is" "rough" "-")
((triple1) -> (rule7 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Fiona is rough.
True
3
proof
[(((((triple2) -> rule5)) -> rule7))]
("Fiona" "is" "rough" "+")
((((triple2) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Bob is not smart.
False
4
inv-proof
[(((((triple1) -> rule7) triple1) -> rule1))]
("Bob" "is" "smart" "-")
((((triple1) -> (rule7 % int2)) triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Gary is not young.
Unknown
inv-rconc
[@1: Gary is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "young" "-")
Gary is red.
Unknown
rconc
[@3: Gary is red.[CWA. Example of deepest failure = (rule2 <- rule4 <- rule5 <- FAIL)]]
("Gary" "is" "red" "+")
Gary is not blue.
Unknown
inv-rconc
[@2: Gary is blue.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Gary" "is" "blue" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
Bob is not white.
Unknown
inv-random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "-")
Bob is big.
Unknown
random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "+")
@0: Bob is young.[(triple1)] Fiona is white.[(triple2)] Gary is smart.[(triple3)] @1: Bob is rough.[(((triple1) -> rule7))] Fiona is young.[(((triple2) -> rule5))] @2: Bob is smart.[(((((triple1) -> rule7) triple1) -> rule1))] Fiona is rough.[(((((triple2) -> rule5)) -> rule7))] @3: Bob is blue.[(((triple1 ((((triple1) -> rule7) triple1) -> rule1)) -> rule4))] Fiona is smart.[(((((((triple2) -> rule5)) -> rule7) ((triple2) -> rule5)) -> rule1))] @4: Bob is red.[(((((triple1 ((((triple1) -> rule7) triple1) -> rule1)) -> rule4)) -> rule2))] Fiona is blue.[(((((triple2) -> rule5) ((((((triple2) -> rule5)) -> rule7) ((triple2) -> rule5)) -> rule1)) -> rule4))] @5: Fiona is red.[(((((((triple2) -> rule5) ((((((triple2) -> rule5)) -> rule7) ((triple2) -> rule5)) -> rule1)) -> rule4)) -> rule2))]
Bob is young.
("Bob" "is" "young" "+")
triple1
Fiona is white.
("Fiona" "is" "white" "+")
triple2
Gary is smart.
("Gary" "is" "smart" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
((triple1) -> (rule7 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple2) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((((triple1) -> (rule7 % int2)) triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((((triple2) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
((triple1 ((((triple1) -> (rule7 % int3)) triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
((((((triple2) -> (rule5 % int3))) -> (rule7 % int2)) ((triple2) -> (rule5 % int3))) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
((((triple1 ((((triple1) -> (rule7 % int4)) triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple2) -> (rule5 % int4)) ((((((triple2) -> (rule5 % int4))) -> (rule7 % int3)) ((triple2) -> (rule5 % int4))) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
((((((triple2) -> (rule5 % int5)) ((((((triple2) -> (rule5 % int5))) -> (rule7 % int4)) ((triple2) -> (rule5 % int5))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5