| 
 Copyright    :   Copyright ( c ) 2016 , RISE SICS AB 
 License      :   BSD3 ( see the LICENSE file ) 
 Maintainer   :    

Copyright   :  Copyright (c) 2016, RISE SICS AB
License     :  BSD3 (see the LICENSE file)
Maintainer  :  
-}

 Main authors : 
      <  > 

 This file is part of Unison , see -code.github.io 

Main authors:
  Roberto Castaneda Lozano <>

This file is part of Unison, see -code.github.io
-}
module Unison.Tools.Extend.CleanCongruences (cleanCongruences) where

import Unison.Base

cleanCongruences f @ Function {fCongruences = cs} _target =
    let cs' = filter (not . isReflexive) cs
    in f {fCongruences = cs'}

isReflexive (o1, o2) = o1 == o2
| 
 Copyright    :   Copyright ( c ) 2016 , RISE SICS AB 
 License      :   BSD3 ( see the LICENSE file ) 
 Maintainer   :    

Copyright   :  Copyright (c) 2016, RISE SICS AB
License     :  BSD3 (see the LICENSE file)
Maintainer  :  
-}

 Main authors : 
      <  > 

 This file is part of Unison , see -code.github.io 

Main authors:
  Roberto Castaneda Lozano <>

This file is part of Unison, see -code.github.io
-}
module Unison.Tools.Extend.CleanCongruences (cleanCongruences) where

import Unison.Base

cleanCongruences f @ Function {fCongruences = cs} _target =
    let cs' = filter (not . isReflexive) cs
    in f {fCongruences = cs'}

isReflexive (o1, o2) = o1 == o2