File: bug_5384.v

package info (click to toggle)
coq 8.20.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 44,116 kB
  • sloc: ml: 234,160; sh: 4,301; python: 3,270; ansic: 2,644; makefile: 882; lisp: 172; javascript: 63; xml: 24; sed: 2
file content (31 lines) | stat: -rw-r--r-- 767 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Set Universe Polymorphism.
Set Printing Universes.
Require Import CMorphisms.
Require Setoid.

Definition Subset@{A P} (A : Type@{A}) := A -> Type@{P}.

Definition Included@{A P} {A : Type@{A}} :
  Subset@{A P} A -> Subset@{A P} A -> Type@{max(A,P)} :=
  fun U V => forall a : A, U a -> V a.

Definition Intersection@{A P Q PQ} {A} :
  Subset@{A P} A -> Subset@{A Q} A -> Subset@{A PQ} A :=
  fun U V a => (U a * V a)%type.

Theorem Intersection_Included_l : forall A (U V : Subset A),
  Included (Intersection U V) U.
Proof.
firstorder.
Qed.

#[export] Instance Included_PreOrder : forall A, PreOrder (@Included A).
Proof.
firstorder.
Qed.

Lemma Intersection_Prop {A} {U : Subset A} :
  Included (Intersection U U) U.
Proof.
rewrite Intersection_Included_l.
Abort.