Nuprl Definition : pertype

We only need four rules to reason about ⌜pertype(R)⌝

H  ⊢ pertype(R) = pertype(R') ∈ Type

  BY pertypeEquality x y z u v ()
  
  H x:Base, y:Base ⊢ R x y ∈ Type
  H x:Base, y:Base ⊢ R' x y ∈ Type
  H x:Base, y:Base, z:R x y ⊢ R' x y
  H x:Base, y:Base, z:R' x y ⊢ R x y
  H x:Base, y:Base, z:R x y ⊢ R y x
  H x:Base, y:Base, z:Base, u:R x y, v:R y z ⊢ R x z

H  ⊢ t1 = t2 ∈ pertype(R)

  BY pertypeMemberEquality !parameter{i:l}
  
  H  ⊢ pertype(R) ∈ Type
  H  ⊢ R t1 t2
  H  ⊢ t1 ∈ Base
  H  ⊢ t2 ∈ Base

H x:(t1 = t2 ∈ pertype(R)), J ⊢ C ext e

  BY pertypeElimination #$n !parameter{i:l} y ()
  
  H x:(t1 = t2 ∈ pertype(R)), [y:R t1 t2], J ⊢ C ext e
  H  ⊢ R t1 t2 ∈ Type

H z:A, J ⊢ C ext t

  BY pointwiseFunctionality #$i !parameter{j:l} a b c ()
  
  H [a:Base], [b:Base], [c:(a = b ∈ A)], J[a/z] ⊢ C[a/z] ext t
  H a:Base, b:Base, c:(a = b ∈ A), J[a/z] ⊢ C[a/z] = C[b/z] ∈ 𝕌{j}⋅

pertype(R) ==  PRIMITIVE



Rules referencing :  pertypeEquality,  pertypeMemberEquality,  pertypeElimination
FDL editor aliases :  pertype

Latex:
pertype(R)  ==    PRIMITIVE



Date html generated: 2016_07_08-PM-04_47_15
Last ObjectModification: 2015_12_22-PM-04_07_02

Theory : per!type!1


Home Index