S.I/Lisp/

_All_?_are_1.




A1="All women are mortal."

=_All_?_are_1.("mortal", A1)
-> "Women"
        



DEFINE(
    _All_?_are_1.,
    LAMBDA(
        _1,
        knowledgebase,
        LET(
            predicate,
                FORMAT(
                    " are {1}.",
                    _1),
            knowledgecolumn,
                TOCOL(knowledgebase),
            matches,
                FILTER(
                    knowledgecolumn,
                    ENDSWITH?(
                        knowledgecolumn,
                        predicate)),
            IF(
                ISERROR(matches),
                FALSE,
                TRIMALL(
                    REGEXEXTRACT(
                        matches,
                        FORMAT(
                            "^All (.+) are {1}\.$",
                            _1),
                        2))))))
        



Help us optimize this function