Dave is blue. Dave is furry. Dave is nice. Dave is rough. Dave is round. Dave is smart. Dave is young. Erin is rough. Erin is round. Erin is smart. Round, furry people are smart. All blue, rough people are nice. All rough people are nice. If someone is blue then they are furry. All blue people are young. If someone is furry then they are round.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Round, furry people are smart.
((("someone" "is" "round" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "smart" "+"))
All blue, rough people are nice.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
All rough people are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is blue then they are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All blue people are young.
((("someone" "is" "blue" "+")) -> ("someone" "is" "young" "+"))
If someone is furry then they are round.
((("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
Erin is round.
True
1
proof
[(triple9)]
("Erin" "is" "round" "+")
triple9
Erin is not rough.
False
1
inv-proof
[(triple8)]
("Erin" "is" "rough" "-")
triple8
Erin is nice.
True
2
proof
[(((triple8) -> rule3))]
("Erin" "is" "nice" "+")
((triple8) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not nice.
False
2
inv-proof
[(((triple8) -> rule3))]
("Erin" "is" "nice" "-")
((triple8) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not furry.
Unknown
inv-rconc
[@1: Erin is furry.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "furry" "-")
Erin is young.
Unknown
rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "young" "+")
@0: Dave is blue.[(triple1)] Dave is furry.[(triple2 OR ((triple1) -> rule4))] Dave is nice.[(triple3 OR ((triple4) -> rule3) OR ((triple1 triple4) -> rule2))] Dave is rough.[(triple4)] Dave is round.[(triple5 OR ((triple2) -> rule6) OR ((((triple1) -> rule4)) -> rule6))] Dave is smart.[(triple6 OR ((triple5 triple2) -> rule1) OR ((triple5 ((triple1) -> rule4)) -> rule1) OR ((((triple2) -> rule6) triple2) -> rule1) OR ((((triple2) -> rule6) ((triple1) -> rule4)) -> rule1) OR ((((((triple1) -> rule4)) -> rule6) triple2) -> rule1) OR ((((((triple1) -> rule4)) -> rule6) ((triple1) -> rule4)) -> rule1))] Dave is young.[(triple7 OR ((triple1) -> rule5))] Erin is rough.[(triple8)] Erin is round.[(triple9)] Erin is smart.[(triple10)] @1: Erin is nice.[(((triple8) -> rule3))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
((triple1) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple3
((triple4) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple1 triple4) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
triple4
Dave is round.
("Dave" "is" "round" "+")
triple5
((triple2) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple1) -> (rule4 % int2))) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
triple6
((triple5 triple2) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple5 ((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple2) -> (rule6 % int2)) triple2) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple2) -> (rule6 % int3)) ((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule6 % int2)) triple2) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule6 % int2)) ((triple1) -> (rule4 % int3))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
triple7
((triple1) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple8
Erin is round.
("Erin" "is" "round" "+")
triple9
Erin is smart.
("Erin" "is" "smart" "+")
triple10
Erin is nice.
("Erin" "is" "nice" "+")
((triple8) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1