Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Pierre Letouzey
natded
Commits
cf6103a6
Commit
cf6103a6
authored
Aug 04, 2020
by
Pierre Letouzey
Browse files
ZF : fix deBruijn in compat_* and scoping in infinity
parent
13b01600
Changes
1
Hide whitespace changes
Inline
Side-by-side
ZF.v
View file @
cf6103a6
...
...
@@ -7,7 +7,13 @@ Require Import Defs NameProofs Mix Meta.
Require
Import
Wellformed
Theories
PreModels
Models
Peano
.
Import
ListNotations
.
Local
Open
Scope
bool_scope
.
Local
Open
Scope
string_scope
.
Local
Open
Scope
eqb_scope
.
Local
Open
Scope
formula_scope
.
Notation
"x = y"
:=
(
Pred
"="
[
x
;
y
])
:
formula_scope
.
Notation
"x ∈ y"
:=
(
Pred
"∈"
[
x
;
y
])
(
at
level
70
)
:
formula_scope
.
Notation
"x ∉ y"
:=
(
~
x
∈
y
)
(
at
level
70
)
:
formula_scope
.
Ltac
refold
:=
match
goal
with
...
...
@@ -24,11 +30,6 @@ Ltac simp := cbn in *; reIff; refold.
∀
x1
,
...,
∀
xn
,
∃
a
,
∀
y
(
y
∈
a
<->
A
),
forall
formula
A
whose
free
variables
are
amongst
x1
,
...,
xn
,
y
.
*
)
Notation
"x ∈ y"
:=
(
Pred
"∈"
[
x
;
y
])
(
at
level
70
)
:
formula_scope
.
Open
Scope
string_scope
.
Open
Scope
formula_scope
.
(
*
It
is
easy
to
notice
that
∃
a
∀
x
(
x
∈
a
<->
~
(
x
∈
x
))
is
(
almost
)
an
instance
of
the
comprehension
axiom
schema
:
it
suffices
to
let
A
=
~
(
a
∈
a
).
*
)
Lemma
Russell
:
Pr
J
([
∃∀
(#
0
∈
#
1
<->
~
(#
0
∈
#
0
))
]
⊢
False
).
...
...
@@ -66,15 +67,9 @@ Qed.
(
**
The
ZF
axioms
*
)
Close
Scope
string_scope
.
Definition
ZFSign
:=
Finite
.
to_infinite
zf_sign
.
Notation
"x = y"
:=
(
Pred
"="
[
x
;
y
])
:
formula_scope
.
Notation
"x ∈ y"
:=
(
Pred
"∈"
[
x
;
y
])
(
at
level
70
)
:
formula_scope
.
Notation
"x ∉ y"
:=
(
~
x
∈
y
)
(
at
level
70
)
:
formula_scope
.
Module
ZFAx
.
Local
Open
Scope
formula_scope
.
Definition
zero
s
:=
∀
#
0
∉
lift
0
s
.
Definition
succ
x
y
:=
∀
(#
0
∈
lift
0
y
<->
#
0
=
lift
0
x
\
/
#
0
∈
lift
0
x
).
...
...
@@ -82,14 +77,15 @@ Definition succ x y := ∀ (#0 ∈ lift 0 y <-> #0 = lift 0 x \/ #0 ∈ lift 0 x
Definition
eq_refl
:=
∀
(#
0
=
#
0
).
Definition
eq_sym
:=
∀∀
(#
1
=
#
0
->
#
0
=
#
1
).
Definition
eq_trans
:=
∀∀∀
(#
2
=
#
1
/
\
#
1
=
#
0
->
#
2
=
#
0
).
Definition
compat_left
:=
∀∀∀
(#
0
=
#
1
/
\
#
0
∈
#
2
->
#
1
∈
#
2
).
Definition
compat_right
:=
∀∀∀
(#
0
∈
#
1
/
\
#
1
=
#
2
->
#
0
∈
#
2
).
Definition
compat_left
:=
∀∀∀
(#
2
=
#
1
/
\
#
2
∈
#
0
->
#
1
∈
#
0
).
Definition
compat_right
:=
∀∀∀
(#
2
∈
#
1
/
\
#
1
=
#
0
->
#
2
∈
#
0
).
Definition
ext
:=
∀∀
((
∀
#
0
∈
#
2
<->
#
0
∈
#
1
)
->
#
1
=
#
0
).
Definition
pairing
:=
∀∀∃∀
(#
0
∈
#
1
<->
#
0
=
#
3
\
/
#
0
=
#
2
).
Definition
union
:=
∀∃∀
(#
0
∈
#
1
<->
∃
(#
0
∈
#
3
/
\
#
1
∈
#
0
)).
Definition
powerset
:=
∀∃∀
(#
0
∈
#
1
<->
∀
(#
0
∈
#
1
->
#
0
∈
#
3
)).
Definition
infinity
:=
∃
(
∃
((#
0
∈
#
1
/
\
zero
(#
0
))
/
\
∀
(#
0
∈
#
1
->
(
∃
(#
0
∈
#
2
/
\
succ
(#
1
)
(#
0
)))))).
Definition
infinity
:=
∃
((
∃
(#
0
∈
#
1
/
\
zero
(#
0
)))
/
\
∀
(#
0
∈
#
1
->
(
∃
(#
0
∈
#
2
/
\
succ
(#
1
)
(#
0
))))).
Definition
axioms_list
:=
[
eq_refl
;
eq_sym
;
eq_trans
;
compat_left
;
compat_right
;
ext
;
pairing
;
union
;
powerset
;
infinity
].
...
...
@@ -185,11 +181,11 @@ Proof.
-
apply
R
'_
Ex_e
with
(
x
:=
"a"
).
+
calc
.
+
cbn
.
apply
R
'_
And_e
.
apply
Pr_swap
,
Pr_pop
.
apply
R
'_
Ex_e
with
(
x
:=
"x"
).
*
calc
.
*
cbn
.
apply
R
'_
And_e
.
apply
Pr_swap
,
Pr_pop
.
apply
R
'_
And_e
.
apply
Pr_pop
.
apply
R_Ex_i
with
(
t
:=
FVar
"x"
).
cbn
.
...
...
@@ -262,11 +258,11 @@ Proof.
exact
H
.
--
apply
R_Or_i1
.
apply
R_Imp_e
with
(
A
:=
x
∈
y
/
\
y
=
A
).
++
inst_axiom
compat_right
[
A
;
y
;
x
].
++
inst_axiom
compat_right
[
x
;
y
;
A
].
++
apply
R_And_i
;
apply
R_Ax
;
calc
.
--
apply
R_Or_i2
.
apply
R_Imp_e
with
(
A
:=
x
∈
y
/
\
y
=
B
).
++
inst_axiom
compat_right
[
B
;
y
;
x
].
++
inst_axiom
compat_right
[
x
;
y
;
B
].
++
apply
R_And_i
;
apply
R_Ax
;
calc
.
+
apply
R_Imp_i
.
apply
R
'_
Or_e
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment