编程题
验证(∃x)(A(x)∧B(x))⇒(∃x)A(x)∧(∃x)B(x)
## 题目描述
请在有限个体域上验证谓词演算以下蕴含式:
(∃x)(A(x)∧B(x))⇒(∃x)A(x)∧(∃x)B(x)
约定:客体变元x的论述范围为{1, 2, ..., n};当代入具体的客体后,每个原子谓词公式的值可以为T或F。
## 输入描述
输入一个正整数n,n≤10。
## 输出描述
记(∃x)(A(x)∧B(x))为F1、(∃x)A(x)∧(∃x)B(x)为F2。请在有限个体域上通过枚举客体变元去掉量词并同时列出F1→F2的真值表,以此验证上述蕴含式。
## 样例输入
```txt
2
```
## 样例输出
```txt
A(1) A(2) B(1) B(2) F1->F2
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
```
## 知识点
- 有限个体域上客体变元的枚举
- 谓词公式赋值
- 真值表
- 谓词公式蕴含式