aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Sigma.v
diff options
context:
space:
mode:
authorGravatar jadep <jade.philipoom@gmail.com>2017-02-27 15:46:42 -0500
committerGravatar jadep <jade.philipoom@gmail.com>2017-02-27 15:54:03 -0500
commit57e22f6009cdd46c788d8e9d81fb7d1492a40ad5 (patch)
tree1324b714a2e61ad0c54851e4964ece1eb9fd80fa /src/Util/Sigma.v
parent2a50d6942f8b82bf8a0d5441a256bec9a1da7afc (diff)
Added operation (including creating )
Diffstat (limited to 'src/Util/Sigma.v')
-rw-r--r--src/Util/Sigma.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Util/Sigma.v b/src/Util/Sigma.v
index 2f7719ab8..96a59e705 100644
--- a/src/Util/Sigma.v
+++ b/src/Util/Sigma.v
@@ -202,6 +202,16 @@ Section ex.
End ex.
(* Lift foralls out of sig proofs *)
+Definition lift1_sig {A C} (P:A->C->Prop)
+ (op_sig : forall (a:A), {c | P a c}) :
+ { op : A -> C | forall (a:A), P a (op a) }
+ := exist
+ (fun op => forall a, P a (op a))
+ (fun a => proj1_sig (op_sig a))
+ (fun a => proj2_sig (op_sig a))
+.
+
+(* Lift foralls out of sig proofs *)
Definition lift2_sig {A B C} (P:A->B->C->Prop)
(op_sig : forall (a:A) (b:B), {c | P a b c}) :
{ op : A -> B -> C | forall (a:A) (b:B), P a b (op a b) }