module Compos where import Test.QuickCheck import Generics.Regular.Rewriting import Base composTests = [ composMTest1, composMTest2 , composTest1, composTest2, composTest3 ] composMTest1 = label "composM" $ composM (applyRuleM notTRule) (Not T) == Nothing composMTest2 = label "composM" $ composM (applyRuleM notTRule) (Not T :&&: Not T) == Just (F :&&: F) composTest1 = label "compos" $ compos (applyRule notTRule) (Not T :&&: Not T) == F :&&: F composTest2 = label "compos" $ compos (applyRule notTRule) (Not F :&&: Not T) == Not F :&&: F composTest3 = label "compos" $ compos (applyRule notTRule) (Not F :&&: Not F) == Not F :&&: Not F