Closed BinderDavid closed 1 week ago
Counterexample:
If we change the boolrep.pol example to the following example:
boolrep.pol
use "../std/data/bool.pol" data BoolRep(x: Bool) { TrueRep: BoolRep(T), FalseRep: BoolRep(F), } def BoolRep(x).extract(x: Bool): Bool { TrueRep => T, FalseRep => F, } data Top { Unit } def Top.flipRep(x: Bool, rep: BoolRep(x)): BoolRep(x.neg) { Unit => rep.match { TrueRep => FalseRep, FalseRep => TrueRep, } } def Top.example: Bool { Unit => Unit.flipRep(T, TrueRep).extract(F) }
then we cannot normalize the occurrance of x.neg in the definition of flipRep.
x.neg
flipRep
Depends on #334
Counterexample:
If we change the
boolrep.pol
example to the following example:then we cannot normalize the occurrance of
x.neg
in the definition offlipRep
.