Nuprl Definition : pertype

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

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

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

H  ⊢ t1 t2 ∈ pertype(R)

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

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

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

z:A, J ⊢ ext t

  BY pointwiseFunctionality #$i !parameter{j:l} ()
  
  [a:Base], [b:Base], [c:(a b ∈ A)], J[a/z] ⊢ C[a/z] ext t
  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