diff options
author | Greg Brown <greg.brown01@ed.ac.uk> | 2022-12-18 22:56:48 +0000 |
---|---|---|
committer | Greg Brown <greg.brown01@ed.ac.uk> | 2022-12-18 22:56:48 +0000 |
commit | 49e4b61cd6b8150e516997606e803bfeec75d1f0 (patch) | |
tree | be6fcbb3d1e5dd7e33a100bf364878157616c550 /src/Obs/Abstract.idr | |
parent | 9452d3aee15b8943684828320324b3da37efb397 (diff) |
Add dependent sums.
Diffstat (limited to 'src/Obs/Abstract.idr')
-rw-r--r-- | src/Obs/Abstract.idr | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Obs/Abstract.idr b/src/Obs/Abstract.idr index 90616d4..ef90cb8 100644 --- a/src/Obs/Abstract.idr +++ b/src/Obs/Abstract.idr @@ -36,6 +36,20 @@ abstractSyntax ctx (App t u) = do t <- abstractSyntax ctx t u <- abstractSyntax ctx u pure (App t u) +abstractSyntax ctx (Sigma bounds var a b) = do + a <- abstractSyntax ctx a + b <- abstractSyntax (bind ctx var.val) b + pure (Sigma bounds var.val a b) +abstractSyntax ctx (Pair b t u) = do + t <- abstractSyntax ctx t + u <- abstractSyntax ctx u + pure (Pair b t u) +abstractSyntax ctx (Fst b t) = do + t <- abstractSyntax ctx t + pure (Fst b t) +abstractSyntax ctx (Snd b t) = do + t <- abstractSyntax ctx t + pure (Snd b t) abstractSyntax ctx (Top b) = pure (Top b) abstractSyntax ctx (Point b) = pure (Point b) abstractSyntax ctx (Bottom b) = pure (Bottom b) |