def
CC.Rebind.liftVar
{a✝ : Sig}
{env1 : TypeEnv a✝}
{s2✝ : Sig}
{f : Rename a✝ s2✝}
{env2 : TypeEnv s2✝}
{x : ℕ}
(ρ : Rebind env1 f env2)
:
Rebind (env1.extend_var x) f.lift (env2.extend_var x)
Equations
- ⋯ = ⋯
Instances For
def
CC.Rebind.liftTVar
{a✝ : Sig}
{env1 : TypeEnv a✝}
{s2✝ : Sig}
{f : Rename a✝ s2✝}
{env2 : TypeEnv s2✝}
{d : PreDenot}
(ρ : Rebind env1 f env2)
:
Rebind (env1.extend_tvar d) f.lift (env2.extend_tvar d)
Equations
- ⋯ = ⋯
Instances For
def
CC.Rebind.liftCVar
{a✝ : Sig}
{env1 : TypeEnv a✝}
{s2✝ : Sig}
{f : Rename a✝ s2✝}
{env2 : TypeEnv s2✝}
(ρ : Rebind env1 f env2)
(cs : CaptureSet ∅)
:
Rebind (env1.extend_cvar cs) f.lift (env2.extend_cvar cs)
Equations
- ⋯ = ⋯
Instances For
theorem
CC.rebind_resolved_capture_set
{s1 : Sig}
{env1 : TypeEnv s1}
{s2✝ : Sig}
{f : Rename s1 s2✝}
{env2 : TypeEnv s2✝}
{C : CaptureSet s1}
(ρ : Rebind env1 f env2)
:
theorem
CC.rebind_captureset_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(C : CaptureSet s1)
:
theorem
CC.rebind_capturebound_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(B : CaptureBound s1)
:
@[irreducible]
def
CC.rebind_shape_val_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(T : Ty TySort.shape s1)
:
Equations
- ⋯ = ⋯
Instances For
@[irreducible]
def
CC.rebind_capt_val_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(T : Ty TySort.capt s1)
:
Equations
- ⋯ = ⋯
Instances For
@[irreducible]
def
CC.rebind_exi_val_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(T : Ty TySort.exi s1)
:
Equations
- ⋯ = ⋯
Instances For
def
CC.rebind_capt_exp_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(T : Ty TySort.capt s1)
:
Equations
- ⋯ = ⋯
Instances For
@[irreducible]
def
CC.rebind_exi_exp_denot
{s1 s2 : Sig}
{env1 : TypeEnv s1}
{f : Rename s1 s2}
{env2 : TypeEnv s2}
(ρ : Rebind env1 f env2)
(T : Ty TySort.exi s1)
:
Equations
- ⋯ = ⋯
Instances For
Equations
- ⋯ = ⋯
Instances For
def
CC.Rebind.tweaken
{s : Sig}
{env : TypeEnv s}
{d : PreDenot}
:
Rebind env Rename.succ (env.extend_tvar d)
Equations
- ⋯ = ⋯
Instances For
def
CC.Rebind.cweaken
{s : Sig}
{env : TypeEnv s}
{cs : CaptureSet ∅}
:
Rebind env Rename.succ (env.extend_cvar cs)
Equations
- ⋯ = ⋯
Instances For
theorem
CC.tweaken_shape_val_denot
{s : Sig}
{d : PreDenot}
{env : TypeEnv s}
{T : Ty TySort.shape s}
:
theorem
CC.tweaken_capt_val_denot
{s : Sig}
{d : PreDenot}
{env : TypeEnv s}
{T : Ty TySort.capt s}
:
theorem
CC.cweaken_shape_val_denot
{s : Sig}
{env : TypeEnv s}
{cs : CaptureSet ∅}
{T : Ty TySort.shape s}
:
theorem
CC.cweaken_capt_val_denot
{s : Sig}
{env : TypeEnv s}
{cs : CaptureSet ∅}
{T : Ty TySort.capt s}
:
theorem
CC.cweaken_exi_val_denot
{s : Sig}
{env : TypeEnv s}
{cs : CaptureSet ∅}
{T : Ty TySort.exi s}
: