aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/Optionmonad.v
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2022-09-24 18:37:04 +0100
committerYann Herklotz <git@yannherklotz.com>2022-09-24 18:37:04 +0100
commit20aae726fa959272ed1568b39b78a0ff501b4882 (patch)
tree4452d767065e4cf8cf94ec07f59406db666614fb /src/common/Optionmonad.v
parent70135322f15ff7621b019fc64b095b2977587e15 (diff)
downloadvericert-20aae726fa959272ed1568b39b78a0ff501b4882.tar.gz
vericert-20aae726fa959272ed1568b39b78a0ff501b4882.zip
Add more monads
Diffstat (limited to 'src/common/Optionmonad.v')
-rw-r--r--src/common/Optionmonad.v12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/common/Optionmonad.v b/src/common/Optionmonad.v
index 14a41ef..4a80ff8 100644
--- a/src/common/Optionmonad.v
+++ b/src/common/Optionmonad.v
@@ -63,4 +63,14 @@ Module Option <: Monad.
End Option.
-Module OptionExtra := MonadExtra(Option).
+Module OptionExtra.
+ Module OE := MonadExtra(Option).
+ Export OE.
+
+ Lemma mfold_left_Some :
+ forall A B f x n y,
+ @mfold_left A B f x n = Some y ->
+ exists n', n = Some n'.
+ Proof. induction x; intros; destruct n; eauto. Qed.
+
+End OptionExtra.