Skip to content

Instantly share code, notes, and snippets.

@rodrigogiraoserrao
Last active June 10, 2019 16:49

Revisions

  1. RGS revised this gist Jun 10, 2019. No changes.
  2. RGS revised this gist Jun 10, 2019. No changes.
  3. RGS revised this gist Jun 10, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion tautologies.hs
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@
    collectVars :: Prop -> [String]
    collectVars (Const _ ) = []
    collectVars (Var s ) = [s]
    collectVars (Neg prop) = nub $collectVars prop
    collectVars (Neg prop) = nub $ collectVars prop
    -- these four patterns are rather annoying
    collectVars (And p1 p2) = nub $ (collectVars p1) ++ (collectVars p2)
    collectVars (Or p1 p2) = nub $ (collectVars p1) ++ (collectVars p2)
  4. RGS created this gist Jun 10, 2019.
    10 changes: 10 additions & 0 deletions tautologies.hs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    -- given a proposition, return a list with all the variables that show up
    collectVars :: Prop -> [String]
    collectVars (Const _ ) = []
    collectVars (Var s ) = [s]
    collectVars (Neg prop) = nub $collectVars prop
    -- these four patterns are rather annoying
    collectVars (And p1 p2) = nub $ (collectVars p1) ++ (collectVars p2)
    collectVars (Or p1 p2) = nub $ (collectVars p1) ++ (collectVars p2)
    collectVars (Equiv p1 p2) = nub $ (collectVars p1) ++ (collectVars p2)
    collectVars (Impl p1 p2) = nub $ (collectVars p1) ++ (collectVars p2)