让我们从 Prolog 翻译成英文。我们有两个规则:
附加任何List到的结果[]是List.
将 any 附加List到第一个元素为H且余数为L1的列表的结果等于其第一个元素也是H其余数是附加List到的结果的列表L1。
所以,我们要追加[-10,-5,6,7,8]到[9,2,3,4]. 附加到的列表不为空,因此我们可以跳过该规则。根据第二条规则,结果具有9作为第一个元素,然后是附加[-10,-5,6,7,8]到的结果[2,3,4]。
所以,我们要追加[-10,-5,6,7,8]到[2,3,4]. 附加到的列表不为空,因此我们可以跳过该规则。根据第二条规则,结果具有2作为第一个元素,然后是附加[-10,-5,6,7,8]到的结果[3,4]。
所以,我们要追加[-10,-5,6,7,8]到[3,4]. 附加到的列表不为空,因此我们可以跳过该规则。根据第二条规则,结果具有3作为第一个元素,然后是附加[-10,-5,6,7,8]到的结果[4]。
所以,我们要追加[-10,-5,6,7,8]到[4]. 附加到的列表不为空,因此我们可以跳过该规则。根据第二条规则,结果具有9作为第一个元素,然后是附加[-10,-5,6,7,8]到的结果[]。
所以,我们要追加[-10,-5,6,7,8]到[]. 附加到的列表是空的,所以根据第一条规则,结果是[-10,-5,6,7,8].
由于追加[-10,-5,6,7,8]到的结果[]是,追加到[-10,-5,6,7,8]的结果是。[-10,-5,6,7,8][4][4,-10,-5,6,7,8]
由于追加[-10,-5,6,7,8]到的结果[4]是,追加到[4,-10,-5,6,7,8]的结果是。[-10,-5,6,7,8][3,4][3,4,-10,-5,6,7,8]
由于追加[-10,-5,6,7,8]到的结果[3,4]是,追加到[3,4,-10,-5,6,7,8]的结果是。[-10,-5,6,7,8][2,3,4][2,3,4,-10,-5,6,7,8]
由于追加[-10,-5,6,7,8]到的结果[2,3,4]是,追加到[2,3,4,-10,-5,6,7,8]的结果是。[-10,-5,6,7,8][9,2,3,4][9,2,3,4,-10,-5,6,7,8]