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