index Var.Compare by compare

i may go back on this if it's too annoying
This commit is contained in:
rhiannon morris 2023-01-10 00:08:47 +01:00
parent f405aeb7f9
commit ef8b8b0da3
2 changed files with 17 additions and 14 deletions

View file

@ -104,10 +104,10 @@ mutual
export %inline
setVar : (i, j : Var d) -> DimEq' d -> DimEq d
setVar i j eqs = case compareP i j of
IsLT lt => setVar' i j lt eqs
IsEQ => C eqs
IsGT gt => setVar' j i gt eqs
setVar i j eqs with (compareP i j) | (compare i.nat j.nat)
setVar i j eqs | IsLT lt | LT = setVar' i j lt eqs
setVar i i eqs | IsEQ | EQ = C eqs
setVar i j eqs | IsGT gt | GT = setVar' j i gt eqs
export %inline
@ -166,7 +166,10 @@ export
setSelf p ZeroIsOne = Refl
setSelf (K Zero) (C eqs) = Refl
setSelf (K One) (C eqs) = Refl
setSelf (B i) (C eqs) = rewrite comparePSelf i in Refl
setSelf (B i) (C eqs) with (compareP i i) | (compare i.nat i.nat)
_ | IsLT lt | LT = absurd lt
_ | IsEQ | EQ = Refl
_ | IsGT gt | GT = absurd gt
-- [todo] "well formed" dimeqs