Charlie is rough. Fiona is nice. If Fiona is nice then Fiona is rough. All nice people are smart. If Fiona is rough then Fiona is smart. If someone is rough then they are nice. If someone is smart then they are blue. All green, rough people are round. If Fiona is green and Fiona is smart then Fiona is young. All rough, smart people are round.
Charlie is rough.
("Charlie" "is" "rough" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
If Fiona is nice then Fiona is rough.
((("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "rough" "+"))
All nice people are smart.
((("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
If Fiona is rough then Fiona is smart.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "smart" "+"))
If someone is rough then they are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is smart then they are blue.
((("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
All green, rough people are round.
((("someone" "is" "green" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If Fiona is green and Fiona is smart then Fiona is young.
((("Fiona" "is" "green" "+") ("Fiona" "is" "smart" "+")) -> ("Fiona" "is" "young" "+"))
All rough, smart people are round.
((("someone" "is" "rough" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
Fiona is nice.
True
1
proof
[(triple2)]
("Fiona" "is" "nice" "+")
triple2
Charlie is not rough.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "rough" "-")
triple1
Fiona is smart.
True
2
proof
[(((triple2) -> rule2) OR ((((triple2) -> rule1)) -> rule3))]
("Fiona" "is" "smart" "+")
((triple2) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is not smart.
False
2
inv-proof
[(((triple2) -> rule2) OR ((((triple2) -> rule1)) -> rule3))]
("Fiona" "is" "smart" "-")
((triple2) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is round.
True
5
proof
[(((((triple2) -> rule1) ((triple2) -> rule2)) -> rule8) OR ((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule8))]
("Fiona" "is" "round" "+")
((((triple2) -> (rule1 % int3)) ((triple2) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is not round.
False
5
inv-proof
[(((((triple2) -> rule1) ((triple2) -> rule2)) -> rule8) OR ((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule8))]
("Fiona" "is" "round" "-")
((((triple2) -> (rule1 % int3)) ((triple2) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Fiona" "is" "young" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
@0: Charlie is rough.[(triple1)] Fiona is nice.[(triple2)] @1: Charlie is nice.[(((triple1) -> rule4))] Fiona is rough.[(((triple2) -> rule1))] Fiona is smart.[(((triple2) -> rule2) OR ((((triple2) -> rule1)) -> rule3))] @2: Charlie is smart.[(((((triple1) -> rule4)) -> rule2))] Fiona is blue.[(((((triple2) -> rule2)) -> rule5) OR ((((((triple2) -> rule1)) -> rule3)) -> rule5))] Fiona is round.[(((((triple2) -> rule1) ((triple2) -> rule2)) -> rule8) OR ((((triple2) -> rule1) ((((triple2) -> rule1)) -> rule3)) -> rule8))] @3: Charlie is blue.[(((((((triple1) -> rule4)) -> rule2)) -> rule5))] Charlie is round.[(((triple1 ((((triple1) -> rule4)) -> rule2)) -> rule8))]
Charlie is rough.
("Charlie" "is" "rough" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple1) -> (rule4 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple2) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
((((triple2) -> (rule1 % int3)) ((triple2) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((triple2) -> (rule1 % int3)) ((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
((triple1 ((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3