Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
BiCoq
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
MARCON Cecile
BiCoq
Commits
3081fc8b
Commit
3081fc8b
authored
Dec 5, 2023
by
MARCON Cecile
Browse files
Options
Downloads
Patches
Plain Diff
stck w reflexivity
parent
ee33326b
Branches
ioToProp
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/Bijections.v
+2
-1
2 additions, 1 deletion
src/Bijections.v
src/ConcreteBigraphs.v
+36
-19
36 additions, 19 deletions
src/ConcreteBigraphs.v
with
38 additions
and
20 deletions
src/Bijections.v
+
2
−
1
View file @
3081fc8b
...
...
@@ -1005,7 +1005,8 @@ apply (mkBijection _ _ (bij_dep_sum_1_forward bij_AB) (bij_dep_sum_1_backward bi
apply
proof_irrelevance
.
Defined
.
Definition
bij_sigT_compose
:
forall
{
A
B
:
Type
}
{
P
:
A
->
Type
}
{
Q
:
B
->
Type
}
(
bij_AB
:
bijection
A
B
),
Definition
bij_sigT_compose
:
forall
{
A
B
:
Type
}
{
P
:
A
->
Type
}
{
Q
:
B
->
Type
}
(
bij_AB
:
bijection
A
B
),
(
forall
a
,
bijection
(
P
a
)
(
Q
(
bij_AB
a
)))
->
bijection
(
@
sigT
A
P
)
(
@
sigT
B
Q
).
Proof
.
intros
A
B
P
Q
bij_AB
bij_PQ
.
...
...
This diff is collapsed.
Click to expand it.
src/ConcreteBigraphs.v
+
36
−
19
View file @
3081fc8b
...
...
@@ -10,6 +10,7 @@ Require Import Bijections.
Require
Import
FunctionalExtensionality
.
Require
Import
ProofIrrelevance
.
Require
Import
PropExtensionality
.
Require
Import
Coq
.
Lists
.
List
.
Set
Printing
All
.
...
...
@@ -105,9 +106,11 @@ Lemma tensor_alt : forall {N1 I1 O1 N2 I2 O2} (f1 : N1 + I1 -> N1 + O1) (f2 : N2
destruct
x
as
[[
n1
|
n2
]
|
[
i1
|
i2
]];
reflexivity
.
Qed
.
Inductive
list
(
A
:
Type
)
:
Type
:=
|
nil
:
list
A
|
cons
:
A
->
list
A
->
list
A
.
Record
DecList
:
Type
:=
{
mylist
:
list
Name
;
nodup
:
NoDup
mylist
;
}
.
Record
bigraph
(
site
:
FinDecType
)
(
innername
:
Name
->
Prop
)
...
...
@@ -156,20 +159,20 @@ End GettersBigraphs.
Section
EquivalenceBigraphs
.
(
**
**
On
the
heterogeneous
type
*
)
Record
bigraph_equality
{
s1
r1
s2
r2
:
FinDecType
}
{}
Record
bigraph_equality
{
s1
r1
s2
r2
:
FinDecType
}
{
i1
o1
i2
o2
:
Name
->
Prop
}
(
b1
:
bigraph
s1
i1
r1
o1
)
(
b2
:
bigraph
s2
i2
r2
o2
)
:
Prop
:=
BigEq
{
bij_s
:
bijection
(
type
s1
)
(
type
s2
)
;
bij_i
:
bijection
(
type
i1
)
(
type
i2
)
;
bij_i
:
forall
name
,
i1
name
<->
i2
name
;
bij_r
:
bijection
(
type
r1
)
(
type
r2
)
;
bij_o
:
bijection
(
type
o1
)
(
type
o2
)
;
bij_o
:
forall
name
,
o1
name
<->
o2
name
;
bij_n
:
bijection
(
type
(
get_node
b1
))
(
type
(
get_node
b2
))
;
bij_e
:
bijection
(
type
(
get_edge
b1
))
(
type
(
get_edge
b2
))
;
bij_p
:
forall
(
n1
:
type
(
get_node
b1
)),
bijection
(
fin
(
Arity
(
get_control
b1
n1
)))
(
fin
(
Arity
(
get_control
b2
(
bij_n
n1
))))
;
big_control_eq
:
(
bij_n
-->>
(
@
bijection_id
Kappa
))
(
get_control
b1
)
=
get_control
b2
;
big_parent_eq
:
((
bij_n
<+>
bij_s
)
-->>
(
bij_n
<+>
bij_r
))
(
get_parent
b1
)
=
get_parent
b2
;
big_link_eq
:
((
bij_i
<+>
<{
bij_n
&
bij_p
}>
)
-->>
(
bij_o
<+>
bij_e
))
(
get_link
b1
)
=
get_link
b2
big_link_eq
:
((
<{
bijection_id
|
bij_i
}>
<+>
<{
bij_n
&
bij_p
}>
)
-->>
(
<{
bijection_id
|
bij_o
}>
<+>
bij_e
))
(
get_link
b1
)
=
get_link
b2
}
.
(
*
Theorem
identified_interface
{
A
}
(
baa
:
bijection
A
A
)
:
...
...
@@ -180,10 +183,24 @@ Record bigraph_equality {s1 r1 s2 r2 : FinDecType} {}
(
*
Definition
get_bij_s
{
s1
i1
r1
o1
s2
i2
}
(
b1
:
bigraph
s1
i1
r1
o1
)
(
b2
:
bigraph
s2
i2
s1
i1
)
:
bijection
(
type
s1
)
(
type
s2
)
:=
(
bij_s
(
bigraph_equality
b1
b2
)).
*
)
Lemma
bigraph_equality_refl
{
s
i
r
o
:
FinDecType
}
(
b
:
bigraph
s
i
r
o
)
:
Lemma
bigraph_equality_refl
{
s
r
:
FinDecType
}
{
i
o
:
Name
->
Prop
}
(
b
:
bigraph
s
i
r
o
)
:
bigraph_equality
b
b
.
Proof
.
eapply
(
BigEq
_
_
_
_
_
_
_
_
_
_
bijection_id
bijection_id
bijection_id
bijection_id
bijection_id
bijection_id
(
fun
_
=>
bijection_id
)).
eapply
(
BigEq
_
_
_
_
_
_
_
_
_
_
bijection_id
_
bijection_id
_
bijection_id
bijection_id
(
fun
_
=>
bijection_id
)).
+
auto
.
+
unfold
bij_fun_compose
.
simpl
.
unfold
funcomp
,
parallel
,
id
.
apply
functional_extensionality
.
intros
[
n
|
site
];
destruct
get_parent
;
auto
.
+
rewrite
bij_subset_compose_id
.
rewrite
bij_subset_compose_id
.
simpl
.
unfold
funcomp
,
parallel
,
id
.
apply
functional_extensionality
.
intros
[
inner
|
port
].
-
destruct
get_link
;
auto
.
-
unfold
bijection_id
,
bijection_inv
,
bij_dep_sum_2_forward
,
bij_dep_sum_1_forward
.
simpl
.
unfold
funcomp
,
id
.
simpl
.
destruct
get_link
eqn
:
E
.
;
admit
.
Unshelve
;
intros
;
apply
iff_refl
.
intros
.
apply
iff_refl
.
-
+
+
rewrite
bij_fun_compose_id
.
reflexivity
.
+
rewrite
bij_sum_compose_id
.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment