On 6/9/17, 03:14, "Mario Castelán Castro" <marioxcc...@yandex.com> wrote:

    Sorry; I should have been more clear.
    
    Consider this hypothetical situation: I have a proposition “P:σ->bool”.
    (P is a metavariable ranging over HOL terms with no free variables, σ is
    a HOL type which may contain free type variables). In addition, I have
    proved that the predicate-set P is non-empty (“∃ x. P x”).
    
    The question is: Under the above conditions, is it always possible to
    find a HOL type “τ” and a HOL term “f:σ” which is a bijection (i.e.
    “!y:τ. ?!x::P. f x = y” is provable) between the predicate-set P and the
    type τ?
    
    According to my understanding, §2.4.5 “Extension by type definition” of
    LOGIC describes a mechanism to introduce by definition one such type τ.
    My question can be informally interpreted as the question of whether
    such a type can always be constructed without the need for using the
    definition mechanism.
    
This depends a little on what you mean by “find a type”.  In the initial state 
of HOL, there are two types (bool and ind), and one operator -> (function 
space).  The core axiomatization allows us to conclude that bool has two 
elements, and that ind has at least aleph_0 many elements. Applying the 
function operator generates a type that is strictly bigger than the 
exponent/domain type. With these tools, it is clear that one cannot construct a 
type with cardinality one. 
    
Yet, the predicate ?y. !x. x = y captures the idea of a type having just one 
element. So, if I’m interpreting your question correctly, the answer is no. 

Michael

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to