Bob is furry. Bob is nice. Bob is round. Dave is big. Dave is nice. Dave is round. Fiona is furry. Fiona is nice. Harry is nice. Harry is rough. Harry is round. Harry is young. All smart people are furry. If Dave is young and Dave is nice then Dave is round. All round, smart people are rough. All rough people are smart. All furry people are young. If someone is round then they are furry. If someone is rough and young then they are big. All round, furry people are rough.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is round.
("Bob" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is round.
("Dave" "is" "round" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is young.
("Harry" "is" "young" "+")
All smart people are furry.
((("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
If Dave is young and Dave is nice then Dave is round.
((("Dave" "is" "young" "+") ("Dave" "is" "nice" "+")) -> ("Dave" "is" "round" "+"))
All round, smart people are rough.
((("someone" "is" "round" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "rough" "+"))
All rough people are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
All furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
If someone is round then they are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If someone is rough and young then they are big.
((("someone" "is" "rough" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
All round, furry people are rough.
((("someone" "is" "round" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Dave is big.
True
1
proof
[(triple4 OR ((((triple6 ((triple6) -> rule6)) -> rule8) ((((triple6) -> rule6)) -> rule5)) -> rule7))]
("Dave" "is" "big" "+")
triple4
((((triple6 ((triple6) -> (rule6 % int4))) -> (rule8 % int3)) ((((triple6) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Bob is not nice.
False
1
inv-proof
[(triple2)]
("Bob" "is" "nice" "-")
triple2
Harry is furry.
True
2
proof
[(((triple11) -> rule6) OR ((((triple10) -> rule4)) -> rule1))]
("Harry" "is" "furry" "+")
((triple11) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple10) -> (rule4 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Dave is not furry.
False
2
inv-proof
[(((triple6) -> rule6))]
("Dave" "is" "furry" "-")
((triple6) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
True
4
proof
[(((triple6 ((triple6) -> rule6)) -> rule8))]
("Dave" "is" "rough" "+")
((triple6 ((triple6) -> (rule6 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not young.
False
3
inv-proof
[(((((triple6) -> rule6)) -> rule5))]
("Dave" "is" "young" "-")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
True
5
proof
[(((((triple6 ((triple6) -> rule6)) -> rule8)) -> rule4))]
("Dave" "is" "smart" "+")
((((triple6 ((triple6) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not smart.
False
5
inv-proof
[(((((triple6 ((triple6) -> rule6)) -> rule8)) -> rule4))]
("Dave" "is" "smart" "-")
((((triple6 ((triple6) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Fiona is not big.
Unknown
inv-rconc
[@2: Fiona is big.[CWA. Example of deepest failure = (rule7 <- rule3 <- FAIL)]]
("Fiona" "is" "big" "-")
Fiona is smart.
Unknown
rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule4 <- rule3 <- FAIL)]]
("Fiona" "is" "smart" "+")
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "rough" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
@0: Bob is furry.[(triple1 OR ((triple3) -> rule6))] Bob is nice.[(triple2)] Bob is round.[(triple3)] Dave is big.[(triple4 OR ((((triple6 ((triple6) -> rule6)) -> rule8) ((((triple6) -> rule6)) -> rule5)) -> rule7))] Dave is nice.[(triple5)] Dave is round.[(triple6)] Fiona is furry.[(triple7)] Fiona is nice.[(triple8)] Harry is nice.[(triple9)] Harry is rough.[(triple10 OR ((triple11 ((triple11) -> rule6)) -> rule8))] Harry is round.[(triple11)] Harry is young.[(triple12 OR ((((triple11) -> rule6)) -> rule5) OR ((((((triple10) -> rule4)) -> rule1)) -> rule5))] @1: Bob is rough.[(((triple3 triple1) -> rule8) OR ((triple3 ((triple3) -> rule6)) -> rule8))] Bob is young.[(((triple1) -> rule5) OR ((((triple3) -> rule6)) -> rule5))] Dave is furry.[(((triple6) -> rule6))] Fiona is young.[(((triple7) -> rule5))] Harry is big.[(((triple10 triple12) -> rule7) OR ((triple10 ((((triple11) -> rule6)) -> rule5)) -> rule7) OR ((((triple11 ((triple11) -> rule6)) -> rule8) triple12) -> rule7) OR ((((triple11 ((triple11) -> rule6)) -> rule8) ((((triple11) -> rule6)) -> rule5)) -> rule7) OR ((triple10 ((((((triple10) -> rule4)) -> rule1)) -> rule5)) -> rule7) OR ((((triple11 ((triple11) -> rule6)) -> rule8) ((((((triple10) -> rule4)) -> rule1)) -> rule5)) -> rule7))] Harry is furry.[(((triple11) -> rule6) OR ((((triple10) -> rule4)) -> rule1))] Harry is smart.[(((triple10) -> rule4) OR ((((triple11 ((triple11) -> rule6)) -> rule8)) -> rule4))] @2: Bob is big.[(((((triple3 triple1) -> rule8) ((triple1) -> rule5)) -> rule7) OR ((((triple3 triple1) -> rule8) ((((triple3) -> rule6)) -> rule5)) -> rule7) OR ((((triple3 ((triple3) -> rule6)) -> rule8) ((triple1) -> rule5)) -> rule7) OR ((((triple3 ((triple3) -> rule6)) -> rule8) ((((triple3) -> rule6)) -> rule5)) -> rule7))] Bob is smart.[(((((triple3 triple1) -> rule8)) -> rule4) OR ((((triple3 ((triple3) -> rule6)) -> rule8)) -> rule4))] Dave is rough.[(((triple6 ((triple6) -> rule6)) -> rule8))] Dave is young.[(((((triple6) -> rule6)) -> rule5))] @3: Dave is smart.[(((((triple6 ((triple6) -> rule6)) -> rule8)) -> rule4))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((triple3) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
((((triple6 ((triple6) -> (rule6 % int4))) -> (rule8 % int3)) ((((triple6) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
Dave is round.
("Dave" "is" "round" "+")
triple6
Fiona is furry.
("Fiona" "is" "furry" "+")
triple7
Fiona is nice.
("Fiona" "is" "nice" "+")
triple8
Harry is nice.
("Harry" "is" "nice" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
((triple11 ((triple11) -> (rule6 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
triple11
Harry is young.
("Harry" "is" "young" "+")
triple12
((((triple11) -> (rule6 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
((((((triple10) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
((triple3 triple1) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple3 ((triple3) -> (rule6 % int2))) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((triple6) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple7) -> (rule5 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple10 triple12) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple10 ((((triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
((((triple11 ((triple11) -> (rule6 % int3))) -> (rule8 % int2)) triple12) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
((((triple11 ((triple11) -> (rule6 % int4))) -> (rule8 % int3)) ((((triple11) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
int4
((triple10 ((((((triple10) -> (rule4 % int4))) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
int4
((((triple11 ((triple11) -> (rule6 % int5))) -> (rule8 % int4)) ((((((triple10) -> (rule4 % int3))) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
Harry is furry.
("Harry" "is" "furry" "+")
int5
Harry is furry.
("Harry" "is" "furry" "+")
((triple11) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
((((triple10) -> (rule4 % int2))) -> (rule1 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((triple10) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((triple11 ((triple11) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
((((triple3 triple1) -> (rule8 % int3)) ((triple1) -> (rule5 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((triple3 triple1) -> (rule8 % int4)) ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
((((triple3 ((triple3) -> (rule6 % int4))) -> (rule8 % int3)) ((triple1) -> (rule5 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
((((triple3 ((triple3) -> (rule6 % int4))) -> (rule8 % int3)) ((((triple3) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule7 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
((((triple3 triple1) -> (rule8 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple3 ((triple3) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
((triple6 ((triple6) -> (rule6 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
((((triple6) -> (rule6 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
((((triple6 ((triple6) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3