[\lambda z:nat. \lambda h:(le 0 z). (le 0 (S z))] match (le_S 0 0 (le_n 0)): le with [ le_n \Rightarrow (le_S 0 0 (le_n 0)) | (le_S x y) \Rightarrow (le_S 0 (S x) (le_S 0 x y)) ] ###### INTERPRETATION NUMBER 1 ###### ### (* disambiguation environment *) alias id S = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2) alias id le = cic:/Coq/Init/Peano/le.ind#xpointer(1/1) alias id le_S = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/2) alias id le_n = cic:/Coq/Init/Peano/le.ind#xpointer(1/1/1) alias id nat = cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1) alias num (instance 0) = "natural number" ### (* METASENV after disambiguation *) ### (* TERM after disambiguation *) <[z:nat][h:(le O z)](le O (S z))>Cases (le_S O O (le_n O)) of le_n => (le_S O O (le_n O)) le_S => [x:nat][y:(le O x)](le_S O (S x) (le_S O x y)) end ### (* TYPE_OF the disambiguated term *) ([z:nat][h:(le O z)](le O (S z)) (S O) (le_S O O (le_n O))) ### (* REDUCED disambiguated term *) (le_S O (S O) (le_S O O (le_n O)))