Documentation

Semantic.CC.Denotation.Rebind

structure CC.Rebind {s1 s2 : Sig} (env1 : TypeEnv s1) (f : Rename s1 s2) (env2 : TypeEnv s2) :
Instances For
    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
                    def CC.Rebind.weaken {s : Sig} {env : TypeEnv s} {x : } :
                    Equations
                    • =
                    Instances For
                      def CC.Rebind.tweaken {s : Sig} {env : TypeEnv s} {d : PreDenot} :
                      Equations
                      • =
                      Instances For
                        def CC.Rebind.cweaken {s : Sig} {env : TypeEnv s} {cs : CaptureSet } :
                        Equations
                        • =
                        Instances For