Public feed #377911

Someone

public text v1 · immutable
Raw Edit
·published 2007-03-02 03:20 UTC
rendered paste body
def var_in(t, x):
    if is_var(t):
        return t == x
    elif x in t:
        return True
    elif True in [var_in(i, x) for i in t]:
        return True
    else:
        return False

    
def ext(t, level=0, max=10):
    if is_var(t):
        return t
    
    var = level + hash("extensionality var")
    y = simp([t, var])
    
    #this is stupid
    if not level > max:
        y = ext(y, level+1)
        
    if y == var:
        return "I"
    if not is_node(y):
        return t
    elif var == y[1] and (not var_in(y[0], var)):
        return y[0]
    elif not var_in(y, var):
        return ext(["K", ext(y)], level+1)
    else:
        return t